public class TestInnerClass { public
static void main(String[] args) {
//创建静态内部类的对象:可以直接通过外部类调用静态内部类的构造器 Person.Dog d
= new Person.Dog();//Person.new Dog();
//Person.Bird b = new Person.Bird();
//创建非静态的内部类的对象:必须先创建外部类的对象,通过外部类的对象调用内部类的构造器 Person p =
new Person(); Person.Bird
b = p.new Bird();//new p.Bird();
b.info();
b.setName("杜鹃"); }
}
class Person{ String name
= "韩梅梅"; int
age;
//成员内部类(非static的) class
Bird{ String name
= "黄鹂"; int
id; public
Bird(){ } public void
setName(String name){
System.out.println(name);//杜鹃
System.out.println(this.name);//黄鹂
System.out.println(Person.this.name);//韩梅梅 } public void
info(){
show(); } }
//成员内部类(静态内部类) static class
Dog{ } public void
show(){
System.out.println("我是show()方法"); } public void
method1(){ class
A{ } }
}