JAVA接口和抽象类

Java抽象类与接口解析
我们知道在java中抽象类与接口的灵活运用大大简化了C++里的多重继承, 但却实现了C++里相似的功能,其实接口的运用其实也只是类层次关系中下传的一种表现,我们可以把java中类的层次关系想象想你的一个家族关系

父类Object当然是你的老祖宗了,

1 抽象类(Abstract Class):

抽象类当然是你的祖辈(祖父,爷爷,父亲都有可能)了,而抽象类里的抽象方法就好象是你祖辈们本应该做的事情,而他们却没有能力去做,或者说他们根本不想去做(可能是他们有这个梦想,而却没有这个能力吧),不过好在他们最终的子孙们(当然不已经不再是抽象类了)都是些有能力,有出息的子孙,帮他们完成他们没有完成的事情(实现了抽象方法),如果当哪天有个想叫这些祖辈去做他们正好没有完成的那些事情时候(调用抽象方法),这些祖辈们就会跟你说,啊,这个我没办法完成,我已经让我的儿子负责来做了,你去找我的儿子去吧,那个人也只好找到他的儿子,假如这个儿子没有这个能力话(还是抽象类),他可能又会跟那个人说,这些事情我也完成不了(还有抽象方法),我让我儿子负责去做了,你找他去吧........依此类推,那个人只能一直找下去,直找到那个有能力完成这些事情为止的儿子(已经实现了抽象方法),然后就让这个儿子去那这件事情(调用这个实现的方法),当然了这些祖辈们多多少少还是做了大部分事情的(大部分不是抽象的方法),同时他们也有自己的性格啊,外貌啊,身高啊等等(这些都是属性).....

2 接口(Interface):

接口就更加牛了(只有属性,完全没有方法体),都些好吃懒做,完全没有出息的祖辈们(当然他们存在这个世上还是有外貌啊,体重啊,身高啊,爱好啊之类的特征啦....),]本来上天给了他们很多事情去做的(接口里的方法),而他们都懒得动手(可能是好吃懒做习惯了吧,哈哈,这各这样比喻是否准确),不过他们都有一个强项,生育儿子的能力特别的强(指实现这些接口的类或者派生的子接口),如果运气好的话,可能生到的是一个勤快的,有出息的儿子(实现了接口的类),这个儿子会把这些懒惰的祖辈们的事情全给包览下来,全部去帮他们做完(实现了接口中所有的方法),当然如果运行不好,生出来的儿子不既跟他一样,而且还会变本加厉(可能拥有更多没有方法体的方法),依此类推......哈哈,不过最终他们的子孙们都是有出息的,都会把他们祖辈(可能有曾爷爷,爷爷,爸爸,[伯伯,叔叔,可能有点不太准确,不过java能实现多个接口,我只能这么理解] ) 留下来的事情全部去做完的.就像抽像类一样,当哪天有人要这些懒惰的祖辈们去做他们应该做的事情的时候,他们就会不耐烦的跟你说,我找我儿子(或者侄子)去吧,我全权交给他来负责,那个人也只好找他儿子去啦....,最终最终,那个人还是找到这些懒惰祖辈们那个最有出息那个子孙(实现这些接口的类),让这个子孙去做那些事情(当用接口的引用调用接口的方法时)
Java中的接口抽象类都是重要的概念。接口是一种抽象类型,它定义了一组抽象方法的集合,没有方法体实现。接口只描述了方法常量,没有属性。类可以通过实现接口来继承接口的抽象方法。接口是一种更加抽象的类型,比抽象类更加“抽象”,并且一般情况下不在接口中定义变量。 抽象类是一个可继承的类,它可以包含一个或多个抽象方法。抽象方法是没有方法体的方法,只有方法的声明。抽象类可以包含非抽象方法属性,也可以实现接口抽象类规定了一个类必须做什么而不规定如何去做。 在Java中,抽象类接口都可以用于实现多态代码重用。抽象类主要用于抽象共性的类,而接口主要用于描述行为的规范。根据实际情况,我们可以选择使用抽象类接口来设计我们的程序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Java抽象类接口](https://blog.youkuaiyun.com/LEE180501/article/details/128061940)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Java 抽象类接口](https://blog.youkuaiyun.com/sheng0113/article/details/121319075)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值