- 内部类:在类的内部定义的类
优点:可以方便的使用外部类的属性
缺点:破坏类的结构
实列:
public class Outer {
private int a = 9;
class Inner{
public void show(){
System.out.println(a); //内部类可以方便的使用外部类的属性
}
}
public void show(){
Inner inner = new Inner();
inner.show();
}
public static void main(String[] args){
Outer outer = new Outer();
outer.show();
}
}
上例是使用间接方法调用内部类的方法,先写一个外部类方法,在方法内创建内部类对象,并调用内部类的方法;然后在主函数中创建外部类对象,使用外部类对象调用外部类方法。
如何直接调用呢,如下:
public class TestInner {
public static void main(String[] args){
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.show();
}
}
先创建外部类对象,左侧用 外部类.内部类 创建内部类的对象,右侧用 外部类对象.new 内部类的默认构造方法。
总结:内部类的优点就在于可以放便的使用外部类的属性,调用方法分以上两种间接和直接方法;但内部类会破坏类的结构,因此要慎用内部类。