玉不琢,不成器;人不学,不知道。 ——礼记·学记
本讲内容:接口
Java中只支持单继承,即一个类只能有一个父类。为了提供类似多重继承的功能,Java提供了接口(Interface)机制。但接口不仅仅是为了解决多重继承问题才出现的。接口拥有多重继承的好处,而且没有多重继承的缺点---多重继承的缺点全部来源于实现全部继承,关键在于接口只有abstract(默认、不用写)方法和常量。
譬如下面例子:有些动物和不能和人亲近玩耍的,不能继承。
<span style="font-size:18px;">class Animal{ public void eat() { System.out.println("吃"); } public void sleep() { System.out.println("睡"); } } interface Pet{ void play(); } class Tiget extends Animal{} class Cat extends Animal implements Pet{ public void play() { System.out.println("猫是可以亲近玩耍的"); } } public class danmei { public static void main(String[] args) { Cat a=new Cat(); a.eat(); a.sleep(); a.play(); } }</span>
运行的结果是:
吃 睡 猫是可以亲近玩耍的
注意:
1、接口名用 interface 修饰, 相对应的 类名用 class修饰
2、接口里定义的方法都是抽象方法,可以用abstract修饰,当然也可以不用它修饰
3、接口只能被实现 ( implements )
4、可以用抽象类实现接口,也就是说虽然实现了,但是没有真正写接口的任何方法,它把责任推给了抽象类的子类
5、普通类实现接口,则必须按照接口的契约,实现接口所定义的所有方法。
6、接口可以继承接口。
7、一个接口可以继承多个父类,也就是说一个接口之间可以多重继承。
时间: 2024-11-07 17:50:57