首页 > 代码库 > 第十一讲:面向对象编程(六)

第十一讲:面向对象编程(六)

玉不琢,不成器;人不学,不知道。 ——礼记·学记 


本讲内容:接口

 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、一个接口可以继承多个父类,也就是说一个接口之间可以多重继承。


第十一讲:面向对象编程(六)