黑马程序员技术交流社区
标题:
继承和接口的区别
[打印本页]
作者:
不服™け你咬我
时间:
2014-8-31 21:22
标题:
继承和接口的区别
各位指教指教
作者:
【灰太狼】
时间:
2014-8-31 21:32
问的就有问题,继承是描述两个类的关系,两个类可以是继承关系,但是接口就是接口,它是一个特殊的类。
一个类只能继承一个类,但是可以实现多个接口。
作者:
忆梦追风
时间:
2014-8-31 23:32
接口就是一个特殊的抽象类,怎么特殊呢?就是这个抽象类里面所有的方法都是抽象的,这样的抽象类就是接口,继承是一个类继承另一个类,这个类可以是抽象类(不包括接口),也可以是普通类
作者:
bullfrog
时间:
2014-9-1 00:14
应该只是OOP的设计理念的问题,纠缠这个没什么意义,我觉得只需要知道各自用法的不同就行了。
作者:
低调小邦
时间:
2014-9-1 00:25
楼主问的有问题哦 你只要知道
1.类与类之间是继承关系,单继承,可以多层继承
2.类与接口之间是实现关系 可以单实现 也可以多实现 ;类还可以在继承一个类的同时实现多个接口
3.接口与接口之间可以单继承也可以多继承,
作者:
低调小邦
时间:
2014-9-1 00:27
a:类与类的关系:继承关系,只能单继承,可以多层继承。
b:类与接口的关系:实现关系,可以单实现,也可以多实现;还可以在继承一个类的同时,实现多个接口。
c:接口与接口的关系:继承关系,可以单继承,也可以多继承。
设计区别:抽象类中定义的是体系的共性内容。表达的是:is a的关系。
接口中定义的是体系的扩展功能。表达的是:like a的关系。
作者:
yingsun
时间:
2014-9-1 01:51
接口:
接口定义时,格式特点:
1.接口常见定义;常量,抽象方法
2.接口中成员都有固定修饰符
常量:public static final
方法:public abstract
接口中的成员都是public的。
接口不可以创建对象的,因为有抽象方法,需要子类实现子类对接口中的抽象方法
全部覆盖后,子类才可以实例化,否则子类是一个抽象类。
接口可被类多实现,即使两个接口中有相同方法也不会出错因为没有方法主体,
可以被子类任意定义。
接口与接口之间只能继承不能实现。
只有接口之间可以多继承,因为都没有方法体,不会出现方法重复,但是不允许有不同返回值的相同方法出现。
继承:
1.提高了代码的复用性
2.让类与类之间产生了关系,有了这个关系,才有了多态的特性。
java语言中:java只支持单继承,优化了C++。
因为多继承会带来安全隐患:当多个父类中定义了相同功能,当功能内容不同时,子类对象不确定要运行哪一个。
java支持多层继承,也就是一个继承体系
如何使用一个继承体系中的功能呢?
想要使用体系先查阅体系,父类的描述,因为父类是该体系最共性的功能,具体调用时要创建最子类的对象,为什么呢?
一是因为有可能父类不能创建对象(抽象类和接口)。
二是创建子类对象,可以使用更多功能,包括基本的也包括特有的。
简单一句话:
查阅父类的功能,创建子类对象来使用功能。
最全的笔记了,可算碰到我会答的题了!!!
作者:
青峰牧雪
时间:
2014-9-1 06:40
刘意老师的视频里面也是这样讲的:
类与类之间是继承关系,单继承,可以多层继承
类与接口之间是实现关系 可以单实现 也可以多实现 ;类还可以在继承一个类的同时实现多个接口
接口与接口之间可以单继承也可以多继承,
作者:
隔夜修书
时间:
2014-9-1 08:38
你问的是继承和实现的区别吧,继承是继承类,只能单继承,实现是实现接口,可以一次实现多个接口,接口于接口之间用逗号隔开,实现接口的类必须实现接口中的所有方法且方法的名字、返回值类型、参数的个数及类型必须与接口中的完全一致。两者可以配合使用,形如class A extends B implements C,D。
作者:
龙帅
时间:
2014-9-1 08:55
yingsun 发表于 2014-9-1 01:51
接口:
接口定义时,格式特点:
1.接口常见定义;常量,抽象方法
感谢,正好对这方面比较疑惑
作者:
yingsun
时间:
2014-9-1 23:35
龙帅 发表于 2014-9-1 08:55
感谢,正好对这方面比较疑惑
不客气,很高兴能帮到你。其实都是老师视屏里面讲过的,我整理出来的。
作者:
大成哥
时间:
2014-9-1 23:51
父与子的关系
作者:
我要淡定。
时间:
2014-9-2 05:46
赞一个!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2