理论上:类只能单继承,接口可以多继承(接口应该叫实现);
实践上:我们说类的继承一般继承的是事物的属性,如:姓名,年龄,性别 等,
而接口的继承(或者说实现)一般是继承事物的行为,如:行走,飞翔,游泳(这比较抽象,在一般项目中大部分是指对某事物的增删改查等操作)
总之,
单继承描述了“is a”的关系,即“子is a父”;
多继承描述了“can do”的关系,即“子can do父”。
这是我的笔记珍藏,希望对你有启发。--------来自通灵跃
陈学阳 | 十六级
晕。ls几位就对接口这么理解啊??
继承体现父子关系,父亲有的儿子也有,代码重用率高。
而接口往往是反向用的。举个例子就明白了。
例如我们要建立两辆车的类,并提供相同的方法。
先建立一个车的接口,提供一个s()方法。
interface car{
public void s();
}
接着建立两个具体的车的类,实现这个接口:
class benz() implements car{
public void s(){
System.out.println("This is a benz!");
}
}
class ford() implements car{
public void s(){
System.out.println("This is a ford!");
}]}
public class test{ //建立主类
public static void main(String args[]){
//如果没有接口,我们要生成不同的车就麻烦了,要写大堆的判断代码,这个例子体现不出来。
//我们可以直接利用接口生成车
例如:
car car1=new benz();
car1.s(); /直接用car生成车就成了,不用去判断到底是什么车。有个很经典的例子我已经搞忘了。
car car2=new ford();
car2.s();
}
}
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
继承体现父子关系,父亲有的儿子也有,代码重用率高。
而接口往往是反向用的。举个例子就明白了。
例如我们要建立两辆车的类,并提供相同的方法。
先建立一个车的接口,提供一个s()方法。
interface car{
public void s();
}
接着建立两个具体的车的类,实现这个接口:
class benz() implements car{
public void s(){
System.out.println("This is a benz!");
}
}
class ford() implements car{
public void s(){
System.out.println("This is a ford!");
}]}
public class test{ //建立主类
public static void main(String args[]){
//如果没有接口,我们要生成不同的车就麻烦了,要写大堆的判断代码,这个例子体现不出来。
//我们可以直接利用接口生成车
例如:
car car1=new benz();
car1.s(); /直接用car生成车就成了,不用去判断到底是什么车。有个很经典的例子我已经搞忘了。
car car2=new ford();
car2.s();
}
}
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela