类的第五大成员:内部类

来源:互联网 发布:网络咨询医生在线 编辑:程序博客网 时间:2024/04/28 07:04

                 类的第五大成员:内部类

内部类:类的第五个成员
1.定义:我们可以在一个类A的内部声明另外一个类B。则类B就称为内部类,类A称为外部类。
2.内部类的分类:成员内部类(static 、 非static)   vs   局部内部类
3.说明:
内部类,  作为外部类的一个成员:
 *  ①可以使用4种不同的权限来修饰
 *  ②可以被static修饰
 *  ③内部可以调用外部类的成员
 *  
 *        作为一个类:①内部就可以声明属性、方法、构造器等
 *          ②可以被继承
 *          ③可以被abstract、final修饰
4.成员内部类:
如何创建成员内部类的对象?(静态的,非静态的)
//1.如何创建静态的成员内部类的对象
Person.Dog dog = new Person.Dog();
dog.show();
//2.如何创建非静态的成员内部类的对象
// Person.Bird bird = new Person.Bird();
Person p = new Person();
Person.Bird bird =  p.new Bird();

如何在成员内部类中调用外部类的结构?
class Bird{//内部类
String name = "杜鹃";

public void display(String name){
System.out.println(name);//形参
System.out.println(this.name);//内部类的属性
System.out.println(Person.this.name);//调用的是外部类的对象的属性
}
}

5.局部内部类:
//通过方法,返回指定接口、抽象类的实例
public Comparable getComparable(){
//提供接口的实现类
class MyComparable implements Comparable{
@Override
public int compareTo(Object o) {
// TODO Auto-generated method stub
return 0;
}
}
return new MyComparable();
}

6. 关于内部类,主要掌握三点:
 *   ①如何创建成员内部类的对象(如:创建Bird类和Dog类的对象)
 *   ②如何区分调用外部类、内部类的变量(尤其是变量重名时)
 *   ③局部内部类的使用 (见TestInnerClass1.java)

原创粉丝点击