【Java基础】关键字:interface
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(); //接口中的默认方法 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本