1)类的可见性:public;友好的(无关键字);protected;private;
public:公开类,在包内,包外都可见,是可见性级别最高的;
友好的:也是默认的安全级别,包外不可见,包内可见.用在内部类同protected级别相同.
protected:保护级,只能用于内部类.对类及子类(包内子类,包外子类不可见)和包内其它类可见.
private:私有级,只能用于内部类,只对类本身可见。
Java类的可见性还是比较复杂,特别是内部类嵌套后,但基本规则还是上面所述,因此建议在写类时,如果嵌套,不要超过2层,即只要嵌套一层即可。这样处理比较简单,没必要多次多可见性嵌套把事情弄复杂。
下面是示例代码:
public class MyClass02 {
//保护级对相同包中子类和友好类可见
protected class MyClass03{
}
//下面的类只对本类可见,在类外无法访问呢.
private class MyClass04{
}
//同protected.
class MyClass05
{
}
//对子类可见,包内,包外其它类都可见.
public class MyClass06
{
}
}
class MyClass021 extends MyClass02
{
MyClass03 theA =new MyClass03();
MyClass05 the05=new MyClass05();
}
class MyClass11
{
MyClass03 theA=new MyClass02().new MyClass03();
}