首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java 内部类能不能互访,如果能如何互访

2012-03-29 
java 内部类能不能互访,如果能怎么互访public class A{public static void main(String[] args){class A1{

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();    }} 

热点排行