我的Java学习笔记(七)
匿名内部类
创建格式:
new 父类构造器(参数列表)|实现接口(){
//匿名内部类的类体实现
}
注意事项:
- 使用匿名内部类时,必须继承一个类或实现一个接口;
- 匿名内部类由于没有名字,因此不能定义构造函数;
- 匿名内部类中不能含有静态成员变量和静态方法 ;
抽象类和接口
区别:
- 一个子类只能继承一个抽象类,但能实现多个接口;
- 抽象类可以有构造方法,接口没有构造方法;
- 抽象类可以有普通成员变量,接口没有普通成员变量;
- 抽象类和接口都可有静态成员变量,抽象类中静态成员变量访问类型任意,接口只能public static final(默认);
- 抽象类可以没有抽象方法,抽象类可以有普通方法,接口中都是抽象方法;
- 抽象类可以有静态方法,接口不能有静态方法;
- 抽象类中的方法可以是public、protected;接口方法只有public;
相同点:都不能被实例化,位于继承树的顶端,都包含抽象方法。