抽象类
使用关键字abstract声明的类,就是抽象类。
语法格式:[public] abstract class 类名{}
抽象类不能被实例化(创建对象),但是可以声明引用;
抽象类不能使用final修饰,一旦使用final修饰,表示这个抽象类将不能被继承,而抽象类又不能被实例化,这样创建出来的这个抽象类就没有任何意义了。所以,java规定抽象类不能使用关键字final修饰,否则会出现编译错误
抽象类中可以声明抽象方法和普通方法,普通类中不能包含抽象方法;
抽象方法
加了abstract声明的方法,而且不能有方法体,使用英文格式的分号结束。
语法格式:[访问修饰符] abstract 返回值类型 方法名([参数列表]);
抽象方法不能被private、final、static修饰
抽象类中的抽象方法不能省略关键字abstract
在子类中必须实现父类中的抽象方法,除非子类也是一个抽象类。
实例:
package abstracts;
/**
* 创建抽象类Person
* @author 学霸联盟 - 赵灿
*/
public abstract class Person {
// 抽象类中可以有变量,声明一个变量age
public int age;
// 抽象类中可以有构造方法
public Person() {
}
// 抽象类中可以有普通方法,声明一个普通方法eat
void eat() {
System.out.println("吃");
}
/*
* 抽象类中可以有抽象方法,普通类中不能含有抽象方法
* 作为人类需要工作,但不同的人有不同的工作,现在还不知道具体是什么工作
* 所以此处声明一个抽象的方法,只是规定了子类中必须要实现工作的方法
* 具体如何工作由子类自己去实现
* 抽象方法不能使用static或final修饰
*/
public abstract void work();
}
package abstracts;
/**
* 如果子类也是抽象类,则可以不用重写父类中的抽象方法
* @author 学霸联盟 - 赵灿
*/
public abstract class YellowRace extends Person {
//这里可以不实现父类中的抽象方法
}
package abstracts;
/**
* 创建开发者类Developer,继承Person类
* @author 学霸联盟 - 赵灿
*/
public class Developer extends Person {
// 必须实现父类中的抽象方法
@Override
public void work() {
// 本类中并没有声明变量age,所以此处的age是从父类中继承的
this.age = 18;
System.out.println("编写代码");
}
}
package abstracts;
/**
* 创建测试类Test
* @author 学霸联盟 - 赵灿
*/
public class Test {
public static void main(String[] args) {
// 父类引用指向子类对象
Person p = new Developer();
// 调用父类中的eat方法
p.eat();
// 这里将会执行子类中重写的work方法
p.work();
}
}
运行结果:
吃
编写代码
小结:
抽象类的优点:可以包含抽象方法,从而规定子类中必须有哪些方法
抽象类的缺点:java只支持单根继承
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
奥拉夫·舍韦的这本《超级学霸》就是教你如何开出正确的药方,来根治“学习不好”的病。 舍韦本来是一名天资平平、成绩中下的普通挪威学生,因为掌握了正确的学习方法,从普通学生一跃变成了超级学霸,成功考取了...
学霸快查助手是一款记录学习过程中的知识点,学习时能够快速查阅的学习软件,可以随时随地记录知识点,随时随地的快速查阅知识点,学霸快查软件就是专为学霸而生,提高学习效率,有需要的赶快下载吧! 学霸快查...
明明白白学Java大学霸
系统集成项目管理工程师-学霸一本通
学霸教育网站整站源码说明:由sdcms管理系统制作模板而来,请尊重原创。 后台地址:http://你的域名/iszxwadmin/ 管理账号:admin 密码:admin 学霸教育网站整站源码介绍: 本程序适合个人门户站、学校管理...
学霸课堂是一款学生课堂学习软件。软件包含:幼儿启蒙教育、小学、初中、高中 全部基本课程,基本课程为人教版。 学霸课堂软件特点 1:名校名师课堂讲解,够生动够详细,学生易掌握学习要点。 2:学习内容全面,除了...
学霸脑图--理科
学霸经验分享:高三政治学习心得.docx
学霸经验分享:高三政治学习心得.pdf
学霸经验分享:高三政治学习心得.doc
用户:面向所有爱好学习又有一定自律能力的人,学霸会真正的理解这款软件的用意和需求,希望更多人成为学霸。(只是提醒功能,并没有必要禁止你上网,因为你总有办法停止或卸载软件) 安装好了,马上去自习室感觉...
我的钢笔是“学霸”
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,...
豪杰超级解霸创始人梁肇新:安全需要新体系.docx
二年级(下)语文学霸期末测评卷12套
使用SolidWorks2018进行的100个.SLDPRT建模文件。适用于初学者的学习,可以详细查看每一步操作的细节。
“学”栏目中把学生的所有学习资料进行分类管理,包括:今日学习内容、未学习的内容、所有学习内容,学生可以很方便地学习每日的同步学习资料,复习、学习、搜索与管理所有的学习文件。 二、教 “教”按教学大纲...
学霸直男主题错题本.pdf