您现在的位置是: 主页 > 个人博客日记 > 程序人生 > 程序人生

JAVA基础/抽象类

2020-03-09 16:15 【程序人生】 人已围观

简介: 抽象类 1、在类中声明一个方法,这个方法没有实现体,是一个空方法,这样的方法就叫 抽象方法 ,使用修饰符 abstract 。当一个类有抽象方法的时候,该类必须被声明为 抽象类 。 例:当为Hero增加一个抽象方法 attack,就必须Hero声明为abstract的。 2、抽象类可以没有抽象方法。一旦一个类被声明为抽象类,就不能被直接实例化。 3、抽象类和接口的区别: (1)子类只能继承一个...

抽象类

1、在类中声明一个方法,这个方法没有实现体,是一个“空”方法,这样的方法就叫抽象方法,使用修饰符“abstract" 。当一个类有抽象方法的时候,该类必须被声明为抽象类

例:当为Hero增加一个抽象方法 attack,就必须Hero声明为abstract的。

2、抽象类可以没有抽象方法。一旦一个类被声明为抽象类,就不能被直接实例化。

3、抽象类和接口的区别:

(1)子类只能继承一个抽象类,不能继承多个

子类可以实现多个接口。用【implements】关键词。

(2)抽象类可以定义public、protected、package、private、静态、非静态属性、final和final属性。

但接口中声明的属性只能是public、静态、final的,即便没有显示的声明。

注:抽象类和接口都可以有实体方法。接口中的实体方法,叫做默认方法

默认方法

1、默认方法是JDK8新特性,指的是接口也可以提供具体方法了,而不像以前,只能提供抽象方法。

Mortal 这个接口,增加了一个默认方法revive,这个方法有实现体,并且被声明为了default

2、为什么会有默认方法?

答:假设没有默认方法这种机制,那么如果要为Mortal增加一个新的方法revive,那么所有实现了Mortal接口的类,都需要做改动。但是引入了默认方法后,原来的类,不需要做任何改动,并且还能得到这个默认方法。通过这种手段,就能够很好的扩展新的类,并且做到不影响原来的类。

孟文鹏博客版权所有丨如未注明 , 均为原创丨 转载请注明JAVA基础/抽象类

很赞哦! ( )

随机图文

文章评论

    总共有: 条评论 来说两句吧...

    用户名:

    联系方式:

猜你喜欢

站点信息

  • 建站时间 :2019-6-18
  • 共有会员 : 2名
  • 共有文章 :6784篇
  • 今日更新 :1篇
  • 百度收录
  • 文章阅读 :956780人次
  • 公众号 :扫描二维码,关注我们
-->