问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

不太明白abstract class 和 interface 有什么用,谁来讲讲。。。

发布网友 发布时间:8分钟前

我来回答

3个回答

热心网友 时间:2024-10-02 23:11

这种东西,联系实际举例最好说明。比如说 动物, 就是一个abstract class, 人 就可以是继承这个类的一个子类。 实例化一个人类:张三。

它的作用其实应该有好几点,但主要来说,还是减少代码重用的。比如说,不管是任何动物,都会呼吸,这时只需要在abstract class里写一个breathe方法就好,这样所用动物类在不覆写该方法的情况下,都有相同的呼吸方法。当然,有时候会产生特例,例如人是高级动物,呼吸方法更复杂一下,就可以在人class里覆写出一个更为复杂地方法。

但你说你实例化出一个动物,编译器就会产生歧意,你到底是要一只猫?还是狗?还是人?,也就是抽象类无法实例化的形象说明。
你又会问,那为何要有动物这么一个类,直接声明人类,喵星,旺星不就得了么?这就涉及到多态了。

接口嘛,就是多态的主要体现,有时候,你更注重行为过程: 你通常想地更多的是如果去实现一个过程,比如呼吸。然后其实调用哪个实例的呼吸方法你不在乎,只要你确保它有这个方法可以调就行。而这个所谓的确保,就是接口。另一方面,你想到了呼吸这个方法,就会顺着思路想到很多的东西都会呼吸,而它们实现呼吸的方法都不同,要在各个不同的类中一一去写不同的方法,但都叫呼吸。比如你想到了植物,动物,等。

这也就是为什么类的层次关系 中, 通常接口在最顶层,其次会有抽象类实现它,接着是类去继承。

热心网友 时间:2024-10-02 23:11

abstract class 是一个类,但是他不必实现所有方法,这些未实现的方法需要由继承他的非虚子类实现,abstract类同样是单继承
interface 是接口,接口中的方法不可以给实现,需要由继承接口的类给予实现,一个类可以实现多个接口,用Java中,实现接口的主要意义在于,保证该类和其子类中,都有对应的方法。

热心网友 时间:2024-10-02 23:12

interface 用的比较多。abstract class相对用的少一些。
不太明白abstract class 和 interface 有什么用,谁来讲讲。。。

它的作用其实应该有好几点,但主要来说,还是减少代码重用的。比如说,不管是任何动物,都会呼吸,这时只需要在abstract class里写一个breathe方法就好,这样所用动物类在不覆写该方法的情况下,都有相同的呼吸方法。当然,有时候会产生特例,例如人是高级动物,呼吸方法更复杂一下,就可以在人class里覆写...

Load Port、SMIF

威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...

7. 请问Java的Interface和Abstract Class有什么区别?

interface是接口,abstract class是抽象类 主要区别:1、接口可以多重implement(实现),抽象类只能单一extends(继承)2、接口内只能是功能的定义,抽象类中可以包括功能的定义和功能的实现。3、接口字段定义默认为public static final,而抽象类的则默认为friendly。

abstract class和interface有什么区别?求解答

abstract class 类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为publicabst...

abstract class和interface的区别

二是abstract class的子类在继承它时,对非抽象方法既可以直接继承,也可以覆盖;而对抽象方法,可以选择实现,也可以通过再次声明其方法为抽象的方式,无需实现,留给其子类来实现,但此类必须也声明为抽象类。既是抽象类,当然也不能实例化。 E. abstract class是interface与Class的中介。 interface是完全抽象的,只能声明方...

C#abstract class和interface有什么区别?

1.抽象类(abstract class)抽象类是一种特殊的类,有如下的特点:.抽象方法制作声明,不包含具体的实现,可以看做是没有重写的虚方法..抽象类不能被实例化.具有其他类相同的特性..抽象类可以没有抽象方法和抽象属性,但是一旦有了抽象方法,就一定要把这个类声明为抽象类..具体派生类必须要覆盖基类的抽象...

java 中abstract class和interface有什么区别

abstract 修饰的CLASS是抽象类 抽象类(abstract class)可以有抽象方法,也可以有具体是方法,抽象类只能支持单继承 interface 接口 接口可以有抽象的方法,不存在具体的方法,接口可以多继承(多实现)如下是我以前学习的一些笔记你可以参考下 /*理解java接口定义 1.JAVA接口没有构造器 2.JAVA接口中的成员变量...

abstract class和interface有什么区别

static final 类型的,并且默认即为 public static final 类型。4、书写规范不同:一个类可以实现多个接口,用逗号隔开,但只能继承一个抽象类,接口不可以实现接口,但可以继承接口,并且可以继承多个接口,用逗号隔开。参考资料来源:百度百科-interface 参考资料来源:百度百科-abstract(抽象修饰符)

abstract class和interface的使用场景分别是什么?

既然open close和alarm属于两个不同的概念 根据ISP原则应该把它们分别定义在代表这两个概念的抽象类中 定义方式有 这两个概念都使用abstract class方式定义 两个概念都使用interface方式定义 一个概念使用abstract class方式定义 另一个概念使用interface方式定义 显然 由于Java语言不支持多重继承 所以两个概念都使用abs...

java的接口和抽象类分别有什么作用?

在abstract class方式中,Demo可以有自己的数据成员,也可以有非 abstract的成员方法,而在interface方式的实现中,Demo只能够有静态的不能被修改的数据成员(也就是必须是static final 的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊形式的 abstract class。 从...

接口和抽象类的区别

在abstract class方式中,Demo可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface方式的实现中,Demo只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊形式的abstract class。 从编程...

final和abstract abstract algebra abstractclass abstract和summary abstract怎么用 public abstract class和object的区别 java中abstract abstract怎么写案例
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我正点到上海浦东机场的时间是晚上23点45分,准备转早上7点20飞机飞重... 浦东机场住宿攻略 不太明白abstract class 和 interface 有什么用,谁来讲讲。。。 7. 请问Java的Interface和Abstract Class有什么区别? 小学五年级奥数题,谢谢!详细提问下边,要算式 ...题:乘积1*2*3*4*...*124*125的末尾零的个数是多少?(列式+答案+讲解... 小学奥数三个质数的和是2010,这三个质数的乘积最小是多少? 三个质数的倒数和是1001分之311,这3个质数的和是多少? ...类中有抽象方法但没有定义成abstract类,可不可以?抽象类有没有构造... 梦见大鸟在天上飞有什么预兆? 7. 请问Java的Interface和Abstract Class有什么区别? 小学五年级奥数题,谢谢!详细提问下边,要算式 ...题:乘积1*2*3*4*...*124*125的末尾零的个数是多少?(列式+答案+讲解... 小学奥数三个质数的和是2010,这三个质数的乘积最小是多少? 三个质数的倒数和是1001分之311,这3个质数的和是多少? ...类中有抽象方法但没有定义成abstract类,可不可以?抽象类有没有构造... 梦见大鸟在天上飞有什么预兆? 性格内向的人怎样做好学生会? 讽刺对友情失望的句子 讽刺虚假的友情句子 讽刺朋友友情变了的句子 ...状扩张支气管影,管壁增厚。右肺中叶外侧段及左肺上叶前 ...显示 左肺下叶及右肺中叶结节灶, 请问这是 什么 症状。 左肺支气管扩张 左下肺支气管局部扩张是怎么回事 支气管扩张好发于什么部位 什么是左肺下叶支气管扩张 铝热反应条件是加热还是高温 铝热反应化学方程式条件 老人晚上说梦话大叫怎么回事 浦东机场住宿攻略 我正点到上海浦东机场的时间是晚上23点45分,准备转早上7点20飞机飞重... 抽象类中为什么可以写int a=1; 抽象类简介 对同学的美好祝愿语句精选45句 男人睡比他大的女人说明什么? 男人如果开始不知道,后来知道和他上床的女人比他大12岁会是什么... 和同学虽然不在一班,毕业时给她的留言 ip68级防水到底有多强? IP68级防水到底有多强?直接把手机放在水里浸泡也没问题? 生日应该送什么礼物给同学呢? 什么是国际会计服务贸易 地炼山东地炼企业装置 将1,2,3,4,5,6六个数填在下面圆圈内,使每条线上三个数的和等于9 手机被砸成这样能修好吗?现在开不了机,vivo y51,1300买的。 手机烂成这样还有的俢吗? 手机一掉在地上就黑屏了? 手机早上掉了一下,现在屏不裂但有条黄色的分割线,看屏幕很不爽,问怎么... ...的手机号码,为什么当我在淘宝上用QQ邮箱登录我的淘宝发送手机号码验 ... ...绑定的这个号码,我想解绑我的QQ邮箱账号,该怎么