java访问控制问题

用访问控制符修饰类来限制类的访问,那么访问一个类是什么意思?是限制创建类的实例吗?说清楚一些何为访问类?默认类权限中有一个public方法,那么这方法能在别的包中被访问吗?是不是类的控制符也限制了其成员的作用范围?
我是说class A{ public void b(){System.out.println("hi")}},那么b方法能在别的包中被访问吗?虽然b方法被public修饰,但是它是类的成员,此类限制在同一包中被访问,那么这方法虽为public但也只能在同一包中被访问。是不是?

问题较乱。 我给你答一下, 有不懂的话,你可以继续追问。

访问一个类。 就是使用一个类中的属性,方法等等。

比如。 假使有Student 这个类
Student student = new Student(); //创建一个类实例。
student.name ; //访问 一个类中的变量
studnet.learn(); //访问类中的方法。

限制类的访问权限的意思是。 有一些方法是我不想给 别人调用。只是为了服务我类中的方法用的。

比如:
public class Student{
private void think(){} //思考 //该方法只能在类里面才能访问
public void learn(){ //公共的方法,可以在类外部调用访问
think(); // 我可以调用本类中定义的私有方法
}
}

//假定这是 main方法
Student student = new Student(); //创建一个类实例。

student.learn(); //访问类中的公共方法。

//student.think(); 这个方法不能调用, 调用会报错,因为这个方法不能在 Student类以外调用
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-13
访问一个类,一般来讲就是访问其内部的方法或属性,不是限制创建类的实例。
类中的方法被public访问控制符修饰符修饰的话,在任何包中都可以访问。
类的修饰符一般是public、final或没有
public修饰的类,该的类的名字必须要和.java文件名相同,且一个.java文件中只能同时包含一个public修饰的类。
final修饰的类,一般是为了防止子类化,还有可以提高性能,这点可以去搜一下fianl修改符相关。
第2个回答  2011-08-13
Q7,能访问除了private以外的所有成员 其实这4种访问控制形成了一个完整的访问机制, 这里说一下protected 在包内 = public 在包外,只能被子类访问,意思

Java中4种不同级别的访问控制符
在Java中,存在四种访问控制级别,它们分别是private、default、protected和public。下图展示了这四种级别的访问控制,由小到大依次排列。访问控制级别由小到大 这四种访问控制级别具体解释如下:private(当前类访问级别):当一个类成员被private修饰时,它只能被该类的其他成员访问,其他类无法直接访问。实现...

这个Java·项目异常怎么解决??
这个异常看起来是由于访问权限问题引起的,可能是由于模块系统的一些限制。为了解决这个问题,你可以尝试使用 `--add-opens` 选项打开相关的包,以便解决模块间的访问限制。在运行 Java 程序时,可以使用以下命令格式:```bash java --add-opens <模块\/包名>=<目标模块>=<权限> -jar YourProject.jar...

Java的访问控制中默认,public,private,protected什么区别?举例说明_百度...
的访问控制机制说明:1.任何声明为public的内容可以被从任何地方访问。 2.被声明成private的成员不能被该类外看到。3.如果一个成员不含有一个明确的访问说明,马克-to-win,它只对同包可见, 不同包不可见。这是默认访问。4.protected是同包都可见,且子类都可见。以下就上表中的一些难于理解的知...

Java访问控制权限有哪些
java中成员的访问权限共有四种,其中三种有访问权限修饰词:public,protected,private。Public:权限最大,允许所有类访问,但其他包下的类想要访问需使用import关键字将这些public类导入包中才可使用,换句话说,import将不同包的类导入到一个包下,从而转化为包访问权限下的情况。Protected:除了提供包访...

java中访问控制protected是不同包中对子类可见,什么意思?请给个例子...
} public static void main(String[] args) { A a=new A();\/\/ a.i=7;\/\/报错, 注意这里不能直接用 \/\/ a.printIProtected();\/\/报错, 注意这里不能直接用 Test b = new Test();。。。更多详情,请网上找“马克-to-win”,参考他的网站或他的百度空间:java第三章的内容。

JAVA中程序报错 错误:Fly(int)在Bird中是private访问控制 是什么意思...
意思是这个方法是私有的,不能供外部访问。如果有帮助到你,请点击采纳。

Java中的四种访问控制域是什么?
所谓访问控制域其实就是访问权限.访问权限的等级最大到最小依次是:public,protected,包访问权限(无关键字)和private。成员的访问权限取得对某成员(属性和方法)的实现方法有下面四种情况 1, 权限设置为public; 2, 默认包访问权限,在同一包中的其他类,可以访问; 3, 权限设置为public或者protected...

4+类的访问控制关键字有哪些?它的的作用是什么?请举例说明
在Java编程语言中,有4种访问控制修饰符,它们分别是:public:公共访问权限,表示类、方法或变量可以在任何地方访问。例如:public class MyClass { public int myVar; public void myMethod() { \/\/ ... }}在这个例子中,MyClass、myVar变量和myMethod方法都可以在任何地方访问。protected...

什么是访问控制
问题五:JAVA中什么叫访问控制 访问修饰共有四种。 1、private 此修饰符修饰的方法或变量只有在本类中可以访问 2、protected 此修饰符修饰的方法或变量只有在本类同包类及子类中可以访问 3、public 此修饰符修饰的方法或变量在所有类中可以访问 4、默认 此修饰符修饰的方法或变量在同包类中可以访问 问题六...

什么是Java类的访问权限?
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。下表列出了四种访问权限的控制粒度:例1:Main.java:package com.cxh.test1; public class Main { \/** * @param args *\/ public static v...

相似回答
大家正在搜