黑马程序员技术交流社区
标题:
abstract class和interface有什么区别?
[打印本页]
作者:
黄敏文
时间:
2011-8-28 20:59
标题:
abstract class和interface有什么区别?
我在张老师的Java就业面试大全里面
abstract class和interface有什么区别?
的答案中的
4.
抽象类中的抽象方法的访问类型可以是
public
,
protected
和
(默认类型
,
虽然
eclipse
下不报错,但应该也不行)
这句中的默认类型的方法测了一下,也是可以的,不知道各位是怎么理解的
作者:
匿名
时间:
2011-8-28 21:14
应该可是public. protected的话就交由子类实现
作者:
匿名
时间:
2011-8-29 08:27
[color=darkorange]abstract class和interface有什么区别?[/color]答:abstract class 中可以有非抽象方法,而interface中的方法必须全是抽象的。
作者:
匿名
时间:
2011-8-29 13:36
abstract class 指的是抽象类
interface指的是接口
抽象类中的方法可以被继承其的子类所实现,如果方法也被abstract修饰 ,那子类就必须被重写,
接口中的所有方法必须是抽象方法,由实现它的类重写。
最主要一点 一个类可以实现多个接口,但是这个类只能有一个父类,也就是只能继承一个abstract class
例如class student extends person implement Irun,Ipaly
{
.........................
}
作者:
匿名
时间:
2011-8-29 13:45
瓜和西瓜的关系:lol
作者:
徐西宏
时间:
2011-8-29 13:55
这是概念性的东西,理解最好,不要死记硬背
那么先比较一下抽象类与接口的相同点吧:
相同点:
1、它们都代表系统的抽象层;
2、都不能被实例化;
3、都能包含抽象方法;
接下来就是不同点:
1、在抽象类中可以为部分方法提供默认的实现,从而避免在子类中重复实现,提高代码的可重用性,这是抽象类的优势,而接口中只能包含抽象方法。
2、一个类只能继承一个直接父类,这个类有可能 是抽象类;但一个类可以实现多个接口,这是接口的优势;
3、接口中只有抽象方法,没有实例变量和静态方法。
希望楼主能理解!
作者:
匿名
时间:
2011-8-29 14:06
默认类型 是指的不封装方法吧 指利用default也可以继承和实现?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2