keyword_1 java 抽象类与接口

   18年也是倒霉,元旦放个假,还给整感冒了,出差来当天打了一个点滴,不过来了还是发热了。以至于这两天都没有精神,头痛的要死。今天晚上还是简单的从第一个关键词(抽象类与接口)开始学习。看到这两个关键字,很多人应该和我一样,好像知道,可是到底有什么本质的区别又弄不清楚。搜索一下,有很多这样的文章。我也是参考,写一写。加深印象。

     

  看了看

第一点:

  1. 在抽象类中,可以有抽象方法,也可以有非抽象方法,因为abstract是需要被继承的。而且抽象类中的成员变量类型没有要求,但是接口(interface)中一般是没有成员变量,只有方法而且只能是public的(某种意义上说,是一种特殊的abstract class),如果有成员变量,有且只能是public static final 的。
  2. 从本质上来说,或者说从java的设计层面来讲。抽象类和接口是相辅相成的。两者结合起来,才能实现java的面向对象,以及软件的设计原则(开-闭原则)。抽象类是一类事物的基类(或者说把一类事物的最基本特性归总在一起),比如钢笔,铅笔,毛笔,从字面上看,抽象类可以取名叫笔,具体是什么笔,可以由继承类自定义。再说说接口(interface),接口是需要实现,继承只能继承一个,接口的实现可以是多个。从这个设计就可以看出,接口的目的就是设计原则的开原则,不需要去动基层设计,谁需要这个功能,就实现这个接口就可以。还是前面几个笔的例子,比如毛笔说,我要有书法功能,那好,整一个书法接口你,你要怎么实现,你自己玩去。铅笔说我要画画,好,再整一个画的接口,爱咋地咋地....接口更多的是在动作行为上,而抽象类更多的是在基础属性上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值