Java内部类和静态内部类的调用方式

内部类
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(); // 在包外做内部类实例化, 或者先导包再像第一个那样写.

你可能感兴趣的:(Java)