1.interface说明
Java中不支持多继承,但有时必须从几个类中派生出一个子类,继承它们所有的属性和方法,使用interface达到多重继承的效果。
interface:接口,定义一组规则,是“能不能”的关系。
继承是一个“是不是”的关系。
2.接口注意点
(1)接口中的所有成员变量都默认由public static final
修饰,可以省略不写。
(2)接口中的所有抽象方法都默认由public abstract
修饰,可以省略不写。
(3)接口中没有构造器,无法创建对象。
(4)不同接口之间可以使用extends
关键字继承。
(5)一个类可以实现implements
多个接口。
3.实现类书写方式
(1)先写extends再写implements,多个接口之间用英文逗号隔开。
(2)实现类要实现(有方法体)接口中的所有声明的方法,否则该类为抽象类。
class Student extends Person implements Runner,Fly{
@Override
public void start() {
}
@Override
public void run() {
}
@Override
public void stop() {
}
}
实现类和接口之间存在多态性。
Runner student = new Student();
student.run();
4.JDK 8.0关于接口的新特性
(1)除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法(default修饰)。
(2)接口中的静态方法,只能通过接口来调用。
(3)通过实现类的对象,可以调用接口中的默认方法。如果实现类重写了接口中的默认方法,调用时,调用的是重写以后的方法。
(4)类优先原则:父类和接口中声明了同名同参数的默认方法,子类没有重写时,默认调用的是父类中的方法。
(5)接口冲突:实现类实现了多个接口,这多个接口中定义了同名同参数的默认方法,实现类没有重写此方法时,报错。
(6)在子类方法中调用父类或接口中被重写的方法。
@Override
public void stop() {
run(); //子类自己的方法
super.run(); //父类中的方法
Runner.super.talk(); //接口中的默认方法
}
标签:Java,重写,默认,关键字,接口,interface,方法,public
From: https://www.cnblogs.com/zhishu/p/16711259.html