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();
}
}
------解决方案--------------------呵呵 内部类而已
------解决方案--------------------设计内部类,不就是防止其他类的访问嘛
------解决方案--------------------你指的相互访问是什么?
Java code
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();
}
}