标签:
* 类的第5个成员:内部类
1 public class TestInnerClass { 2 public static void main(String[] args) { 3 //创建静态内部类的对象:可以直接通过外部类调用静态内部类的构造器 4 Person.Dog d = new Person.Dog();//Person.new Dog(); 5 //Person.Bird b = new Person.Bird(); 6 //创建非静态的内部类的对象:必须先创建外部类的对象,通过外部类的对象调用内部类的构造器 7 Person p = new Person(); 8 Person.Bird b = p.new Bird();//new p.Bird(); 9 b.info(); 10 b.setName("杜鹃"); 11 } 12 } 13 14 class Person{ 15 String name = "韩梅梅"; 16 int age; 17 //成员内部类(非static的) 18 class Bird{ 19 String name = "黄鹂"; 20 int id; 21 22 public Bird(){ 23 24 } 25 public void setName(String name){ 26 System.out.println(name);//杜鹃 27 System.out.println(this.name);//黄鹂 28 System.out.println(Person.this.name);//韩梅梅 29 } 30 public void info(){ 31 show(); 32 } 33 } 34 //成员内部类(静态内部类) 35 static class Dog{ 36 37 } 38 39 public void show(){ 40 System.out.println("我是show()方法"); 41 } 42 43 public void method1(){ 44 class A{ 45 46 } 47 } 48 }
标签:
原文地址:http://www.cnblogs.com/zhangfan94/p/4263313.html