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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梁健1 中级黑马   /  2012-9-19 11:45  /  2412 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

抽象类就像是某一类事物,比如人的共同的一些特性,说话,唱歌,跳舞,开车,姓名等;又比如一条狗,它可以狗叫,四条腿走路,咬人等;我的意思是说,抽象类就是对某一类事物的特性的概要描述,它针对的是“一”。
而接口是定义的一些某些事物的共同特性,比如吃饭,睡觉,这些不论是人还是狗都能实现这两种方法,它针对的是“多”。
这样理解正确吗?

评分

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

查看全部评分

5 个回复

倒序浏览
参考这篇帖子,点击,以后发帖之前先搜索下看有没有,如果没有的话再发
回复 使用道具 举报
这样理解应该不会错,class是一类事物的共同特征,inrterface是多类事物的共同特征,但是二者之间的区别挺多的,需要慢慢理解,并且只有在不断地使用之中才能加深对二者的理解啊,具体的区别我总结了一下,希望能给到你帮助
抽象类是一类事物的高度聚合。
接口是定义的行为规范。
抽象类中的方法可以部分抽象。
接口中的方法必须全部抽象。
抽象类中的方法可以实现也可以不实现。
接口中的方法一定不能去实现。
抽象类只能单继承。
接口可以实现多继承。
抽象类中,新增一个方法的话,继承类中可以不用作任何处理。
接口来说,则需要修改继承类,提供新定义的方法。
不能创建抽象类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。
接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。
接口不光可以作用于引用类型,也可以作用于值类型。而抽象类来说,只能作用于引用类型。
(若有异议,希望能够共同探讨)

评分

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

查看全部评分

回复 使用道具 举报
定义时,abstract抽象类,interface接口
我们只能说一个类  继承 抽象类。。一个类  实现 哪个接口
抽象类不一定只有抽象方法,还可以有普通方法,但是抽象类一定有抽象方法
接口可以看作是极端化的抽象类,接口
       1>属性必须是常量(static final),且为public
       2>方法全是抽象方法,且为public
       3>无构造方法

评分

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

查看全部评分

回复 使用道具 举报
个人总结抽象类和接口的区别:
抽象类的成员可以具有访问级别,而接口的成员全部public级别
抽象类可以包含字段,而接口不可以,
抽象类可以继承接口,而接口不能继承抽象类
抽象类的成员可以具有具体实现,而接口不行
抽象的子类可以选择性实现其基类的抽象方法,而接口的子类必须实现

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
谢谢大家,说的很详细,非常感谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马