java 内部类能不能互访,如果能怎么互访
public class A{
public static void main(String[] args){
class A1{
}
class A2{
}
// A1 和 A2之间互相访问?
}
}
[解决办法]
static 静态就可以
[解决办法]
啥叫互相访问呢?
首先A要知道B的对象才行,要门B知道A的对象,要么就如楼上所说的使用static field或者static method
[解决办法]
同ls,最好避免用内部类
[解决办法]
可以互相调用的
static的话就可以直接new,不是的话就得new A().new A1()
[解决办法]
不是静态的话得final变量,不过你这用法太离谱了。。估计设计不够到位
class A1{
public void test()
{
}
}
final A1 a = new A1();
class A2{
public void test(){
a.test();
}
}
[解决办法]
呵呵 内部类而已
[解决办法]
设计内部类,不就是防止其他类的访问嘛
[解决办法]
你指的相互访问是什么?
public class A{ class A1{ int a1 = 1; //你指的相互访问是这样的吗? public void test() { A2 a = new A2(); System.out.println(a.a2); } } class A2{ int a2 = 2; //你指的相互访问是这样的吗? public void test() { A1 a = new A1(); System.out.println(a.a1); } } public static void main(String[] args) { //你指的相互访问是这样的吗? A1 a1 = new Outer().new A1(); a1.test(); A2 a2 = new Outer().new A2(); a2.test(); }}