抽象类abstract

举报
西红柿炒鸡蛋儿 发表于 2022/02/26 20:14:37 2022/02/26
【摘要】 ​一.什么是抽象类?类和类之间具有共同特征,将这些特征提取出来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象(无法实例化)。二.抽象类属于什么类型?引用数据类型。三.抽象类怎么定义?在class前添加abstract关键字就行了。【修饰符列表/public】 abstract class 类名{ 类体;}四.抽象类的作用抽象类是无法实例化的,无法创建对象的,所以抽象类...

一.什么是抽象类?

类和类之间具有共同特征,将这些特征提取出来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象(无法实例化)。


二.抽象类属于什么类型?

引用数据类型。

三.抽象类怎么定义?

在class前添加abstract关键字就行了。

【修饰符列表/public】 abstract class 类名{

      类体;

}

四.抽象类的作用

抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的。(可以被类继承,也可以被接口实现)


五.final和abstract

final和abstract不能联合使用,这两个关键字是对立的。


六.抽象类的子类

抽象类的子类可以是抽象类,也可以是非抽象类。


七.抽象类的构造方法

抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法是供子类使用的。


八.抽象方法

抽象类中不一定有抽象方法,但是抽象方法必须出现在抽象类中

 抽象类中可以放非抽象方法和抽象方法。只是至少有一个是抽象方法即可。


九.抽象方法怎么定义?

public abstract void doSome();


十.一个非抽象的类,继承抽象类,必须将抽象类中的抽象方法进行覆盖/重写/实现。 

怎么覆盖?

覆盖方法,将抽象方法中abstract去掉,后面加上大括号。


结论:一个非抽象的类继承抽象类,必须将抽象类中的抽象方法实现了,这是java语法上强行规定的,不然编译报错。

实现就是覆盖或者重写。

注意:到目前为止,只是学习了抽象类的基础语法,一个类到底声明为抽象还是非抽象,这个以后慢慢来吧,写代码多的时候,自然就理解了。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。