内部类的为题
Java code
class ca{
private ca(){
System.out.println("1");
}
class inner{
private inner(){
new ca();
}
}
class inner2{
public inner2(){
new inner();
}
}
}
class ae{
public ae(){
new ca() // 不可以
System.out.println("2");
}
}
为什么 inner2 可以调用 inner 的 private 构造器。。。
ae 却不能 不能调用 ca类的private 构造器。。。。
------解决方案--------------------这个基本没为什么吧,主要以类来划分独立性,类内类外,既然内部类属于该已划分的范畴,就没必要再划分来限制彼此内部类的访问性了吧。
------解决方案--------------------因为ae不是ca的内部类。
你看看花括号,没有把ae扩在ca内,而是让ae和ca变成了两个独立的类。
------解决方案--------------------inner2 是ca的一个内部成员,就像你在一个类里面定义了一个private int abc;一样,这个abc是private的,但是你仍然可以访问
------解决方案--------------------这就是内部类的好处、