普通内部类
① 可以在其外部类范围内创建对象
② 不能在非static 内部类当中 创建 static 方法static域
public class Test {
class Destination {
private String label;
Destination(String whereTo) {}
== ② // private static void enen() {}==
}
public Destination destination(String hh) {
return new Destination(hh); // ①
}
public static void main(String[] args) {
Test p = new Test();
// Test.Destination destination2=new Destination(“123”);
Test.Destination destination= p.destination(“123”);
}
}
静态内部类
-
①
- 无法从嵌套类的对象中访问非静态的外部类对象
public class Test {
public int a;
public static class Wheel{
public void interact() { System.out.println(a); }// 此处报错
}
}
②
创建静态内部类的方式不需要其外部类的对象
public class Test {
public int a;
public static class Wheel{}
public static Wheel wheel2() { == //必须是静态的 ==
return new Wheel(); //
}
public static void main(String[] args) {
Wheel wheel= wheel2();
// Wheel wheel= new Wheel(); 也可以创建静态内部 因为是静态类
}
}