Java中没有多继承,但却可以实现多接口。
接口中只有public权限
子类可以先使用extends继承一个抽象类,后使用implements实现多个接口。
抽象类可以使用implements实现多个接口,但是接口不能extends抽象类。
抽象类实现接口可以选择性的覆写接口中的抽象方法。
一个接口可以使用extends继承多个父接口。接口不能继承类。
接口只是方法的声明,没有方法的实现。一旦接口中添加新的抽象方法时,所有的实现类都需要覆写该方法。所以在JDK1.8后进行了改进。
interface Message{
void chat();
default void transportFile(){
System.out.println("暂不支持");
}
}
class QQMessage implements Message {
@Override
public void chat() {
System.out.println("QQ聊天");
}
@Override
public void transportFile() {
System.out.println("QQ传文件");
}
}
class MSNMessage implements Message {
@Override
public void chat() {
System.out.println("MSN聊天");
}
}
public class Hello {
public static void main(String[] args) {
Message qq=new QQMessage(); //向上转型
qq.chat();
qq.transportFile();
Message msn=new MSNMessage(); //向上转型
msn.chat();
msn.transportFile();
}
}
interface Message{
void chat();
static void transportFile(){
System.out.println("暂不支持");
}
}
public class Hello {
public static void main(String[] args) {
//Message.chat();即使接口里有没有实现的方法也可以通过类名直接调用
Message.transportFile();
}
}
原文:https://www.cnblogs.com/LampsAsarum/p/12246247.html