A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄敏文 黑马帝   /  2011-8-28 20:59  /  2187 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我在张老师的Java就业面试大全里面abstract class和interface有什么区别? 的答案中的


4. 抽象类中的抽象方法的访问类型可以是publicprotected(默认类型,虽然
eclipse下不报错,但应该也不行)

这句中的默认类型的方法测了一下,也是可以的,不知道各位是怎么理解的

6 个回复

倒序浏览
黑马网友  发表于 2011-8-28 21:14:50
沙发
应该可是public. protected的话就交由子类实现
回复 使用道具 举报
黑马网友  发表于 2011-8-29 08:27:45
藤椅
[color=darkorange]abstract class和interface有什么区别?[/color]答:abstract class 中可以有非抽象方法,而interface中的方法必须全是抽象的。
回复 使用道具 举报
黑马网友  发表于 2011-8-29 13:36:19
板凳
abstract class 指的是抽象类
interface指的是接口

抽象类中的方法可以被继承其的子类所实现,如果方法也被abstract修饰 ,那子类就必须被重写,
接口中的所有方法必须是抽象方法,由实现它的类重写。

最主要一点  一个类可以实现多个接口,但是这个类只能有一个父类,也就是只能继承一个abstract class

例如class student extends person implement  Irun,Ipaly
{
.........................
}
回复 使用道具 举报
黑马网友  发表于 2011-8-29 13:45:20
报纸
瓜和西瓜的关系:lol
回复 使用道具 举报
这是概念性的东西,理解最好,不要死记硬背
那么先比较一下抽象类与接口的相同点吧:
相同点:
  1、它们都代表系统的抽象层;
    2、都不能被实例化;
    3、都能包含抽象方法;
接下来就是不同点:
  1、在抽象类中可以为部分方法提供默认的实现,从而避免在子类中重复实现,提高代码的可重用性,这是抽象类的优势,而接口中只能包含抽象方法。
  2、一个类只能继承一个直接父类,这个类有可能 是抽象类;但一个类可以实现多个接口,这是接口的优势;
    3、接口中只有抽象方法,没有实例变量和静态方法。
希望楼主能理解!

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-8-29 14:06:57
7#
默认类型 是指的不封装方法吧 指利用default也可以继承和实现?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马