[转]JAVA 在main中访问内部类、方法等
1.使用静态的属性、方法、内部类
1 class A 2 { 3 static int i = 1; // A 类的静态属性 4 static void outPut() // A 类的静态方法 5 { 6 System.out.println(i); 7 } 8 static class B // A 类的静态内部类 9 { 10 void outPut() 11 { 12 System.out.println("B"); 13 } 14 } 15 public static void main(String[] args) 16 { 17 18 System.out.println(i); // 调用静态的属性 19 outPut(); // 调用静态的方法 20 B b = new B(); // 调用静态的内部类 21 b.outPut(); 22 } 23 }
2.使用此类的对象名访问
1 class A 2 { 3 int i = 1; // 属性 4 void outPut() // 方法 5 { 6 System.out.println(i); 7 } 8 class B // 内部类 9 { 10 void outPut() 11 { 12 System.out.println("B"); 13 } 14 } 15 B newB() // (关键)在动态方法中建立 B 的对象 16 { 17 B b = new B(); 18 return b; 19 } 20 public static void main(String[] args) 21 { 22 A a = new A(); 23 System.out.println(a.i); // 调用属性 24 a.outPut(); // 调用方法 25 B b = a.newB(); // 调用内部类 26 b.outPut(); 27 } 28 }
在静态的main中,无法创建非静态的内部类。