抽象类
- 1抽象类abstract,方法可以有不是抽象的,子类必须重写抽象方法,
- 2抽象类不能被实例化
- 3抽象类的属性可以是静态的,非静态的。final的非final的
接口只能是public、静态的,final的。
内部类
- 1非静态内部类可以直接定义在一个类里面。
- 2实例化非静态内部类时,必须先实例化外部类:new 外部类().new 内部类();
- 3静态内部类的实例化 不需要一个外部类的实例为基础,可以直接实例化
语法:new 外部类.静态内部类();
匿名类
- 1匿名类指的是在声明一个类的同时实例化它,使代码更加简洁精练
- 2在匿名类中使用外部的局部变量,外部的局部变量必须修饰为final
默认方法
默认方法是JDK8新特性,指的是接口也可以提供具体方法了,而不像以前,只能提供抽象方法
Mortal 这个接口,增加了一个默认方法 revive,这个方法有实现体,并且被声明为了default
package charactor;
public interface Mortal {
public void die();
default public void revive() {
System.out.println("本英雄复活了");
}
}