未完待续。。。
如有错误,欢迎指正。
- 什么是内部类?
在一个类的内部又定义了一个类,里面的这个类就是内部类。 - 为什么使用内部类?
内部类可以独立继承一个接口或abstract类,无所谓外部类所继承的内容,同时可以使用外部类的成员变量。 - 分类
成员内部类,局部内部类。静态内部类(有static修饰符),匿名内部类。 - 成员内部类:
处于外部类的成员位置。public class outer { private String name = "123"; class inner { public void show() { System.out.println("4321:" + name); } } public static void main(String[] args) { //两种初始化方法 outer.inner in1 = (new outer()).new inner(); outer.inner in2 = new outer().new inner(); in1.show(); in2.show(); } public String getName() { return name; } public void setName(String name) { this.name = name; } }
- 局部内部类:
在外部类的方法中,或其他。 - 匿名内部类:
格式:
new 接口或父类(){
重写抽象方法;
};
public class outer {
public static void main(String[] args) {
/*Home是abstract类或接口*/
Home h = new Home() {
@Override
public void eat() {
System.out.println("在家吃饭");
}
};
h.eat();//输出:在家吃饭
}
}