内部类
public class Test {
class A{
public void setA(){ }
}
public static void main(String[] args){
Test t=new Test();
}
}
调用方式:
public class Test2 {
public static void main(String[] args){
Test test=new Test();
Test.A t=test.new A();
t.setA();
}
}
静态内部类
调用静态内部类的非静态方法:
public class Test {
static class A{
public void setA(){ }
}
}
public class Test2 {
public static void main(String[] args){
Test.A a=new Test.A();
a.setA();
}
}
调用静态内部类的静态方法:
public class Test {
static class A{
static public void setA(){ }
}
}
public class Test2 {
public static void main(String[] args){
Test.A.setA();
}
}
new Outer.Inner(); // 可以
new Inner(); // 在Outer类内部可以
new foo.Outer.Inner(); // 在包外做内部类实例化, 或者先导包再像第一个那样写.