黑马程序员技术交流社区
标题:
求告知,接口与抽象什么区别联系
[打印本页]
作者:
幸福与我零距离
时间:
2015-5-23 18:25
标题:
求告知,接口与抽象什么区别联系
这两个概念有点模糊啊
作者:
qq496099229
时间:
2015-5-23 18:35
你在什么方面会模糊呢,使用的时候,还是只是概念?
作者:
feng0606
时间:
2015-5-23 18:37
接口就是抽象类.接口中的所有方法都是抽象的,类只能被单继承,但是接口可以多实现.好像就只知道这么点了.
作者:
齐浩
时间:
2015-5-23 18:46
如果有抽象方法就要定义成抽象类,如果全部是抽象方法就要定义成接口,一般应用都是使用接口的。。。抽象类是抽取了一些方法,他们不一定是同一类事物的,比如狗和人都有eat()的方法,但是他们不能继承同一个抽象类,但是他们可以实现同一个接口。。。抽象类由于java的单继承限制了功能,接口是作为弥补和扩展的。。。一般你要是实际写程序用到了抽象方法,肯定是用接口的。。。
作者:
幸福与我零距离
时间:
2015-5-23 18:53
齐浩 发表于 2015-5-23 18:46
如果有抽象方法就要定义成抽象类,如果全部是抽象方法就要定义成接口,一般应用都是使用接口的。。。抽象类 ...
nice!!!!!!!!
作者:
qq496099229
时间:
2015-5-23 18:58
抽象类可以有构造方法,但是是不能生成抽象类的对象,比如aa是抽象类,aa y=new aa();就出错!只有被非抽象子类继承后才可以实例化(使用new创建对象),他们除了继承上的区别之外,他们发方法也是有区别的,也是最重要的区别,如果你的类是普通的,不是抽象的,就必须实现接口中的所有方法。所谓实现(不是重载,而类似于叫覆盖的)。
如果你有用线程的接口来创建线程对象的话,估计你应该很好理解,在myeclipse都会自动帮你实现方法。因为线程的两种创建方式一种是继承类,一种就是继承接口。。。
希望对你有用!:)
作者:
Im海洋
时间:
2015-5-23 21:31
接口和抽象类的区别:接口是like a 的关系,就是什么像什么,是实现关系,接口的方法都是抽象方法(抽象方法有方法声明,没有具体实现),默认的修饰符是public abstract,接口里的变量都是常量,默认修饰符是public static final。抽象类是is a 的关系,什么是什么,继承关系,抽象类里的方法不一定都是抽象方法,但是有抽象方法的类一定是抽象类。
作者:
姜秋艺
时间:
2015-5-23 21:43
3楼正解 复习了一下
作者:
zhouzhiming88
时间:
2015-5-23 22:51
接口比抽象类更抽象,但是接口不是类。接口的成员方法都是抽象的,而抽象类的成员方法可以是抽象,也可以是非抽象。接口的成员变量是常量,而抽象类的成员变量既可以是常量、也可以是变量。接口没有构造方法,抽象类有构造方法。
作者:
半世心修
时间:
2015-5-23 22:54
接口用于实现,方法默认是public static 变量默认public static final也就是常量了
抽象类用于继承,它可以有自己的普通变量和普通方法,但是子类继承他必须实现他的抽象方法,不然子类得定义为抽象类
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2