Java,面向对象,抽象类和抽象方法(abstract的使用)
最佳答案 问答题库738位专家为你答疑解惑
关于抽象类和抽象方法的使用,以Person和student和Teacher为例,若Student类和Teacher继承于Person类,老师和学生都有Person的特征。在一个班级里,只需要创建老师和学生的实例,并不需要创建Person的实例。关于Person的方法,学生和老师都有各自的重写,那么Person类中的方法的内容就无意义了。这时候abstract关键字就派上用场了。以下是abstract的具体使用:
abstract可以修饰的结构为:类、方法。
abstract修饰类:
①被abstract修饰的类称为抽象类,不能创建对象,即不能实例化。
②abstract主要修饰父类,是包含有构造器的,因为子类要加载父类中的内容。
③抽象类中可以没有抽象方法,但是抽象方法必须在抽象类中。
如果将Person类的abstract删除掉,而Person类中还有抽象方法,就会报错:
abstract修饰方法:
①此方法被称为抽象方法,只有方法的声明,没有方法体。
正确的格式应该为:
②子类重写父类中的抽象方法也称为实现,子类必须实现(重写)父类中所有的抽象方法。
如果没有实现所有的方法,就会认为继承了父类中的抽象方法,而子类又不是抽象方法,就会报错。
当然,间接的父类中的抽象方法也要实现。如果创建一个Ceature类,让Person类继承于Ceature类(抽象类,其中有一个抽象方法为breath)。
abstract不能修饰的结构:成员变量,构造器,代码块等。
除次之外,还有一些方法和类也是abstract不能修饰的:
①private修饰的方法,因为私有的方法是不能重写的。
②静态的方法,abstract修饰的方法是不应该被调用的,如果方法被static修饰,就可以通过类来进行调用。
③final修饰的方法,final修饰的方法是不能再重写的。
④final修饰的类,final修饰的类是不能被继承的。
99%的人还看了
相似问题
- Kotlin学习——kt里的集合,Map的各种方法之String篇
- Office文件在线预览大全-Word文档在线预览的实现方法-OFD文档在线预览-WPS文件在线预览
- composer切换全局镜像源的方法
- Python通过selenium调用IE11浏览器报错解决方法
- 测试用例的设计方法(全):正交实验设计方法|功能图分析方法|场景设计方发
- Java8新特性 ----- Lambda表达式和方法引用/构造器引用详解
- C#中抽象类、抽象方法和接口暨内联临时变量的精彩表达
- ChatGLM2 大模型微调过程中遇到的一些坑及解决方法(更新中)
- 类方法,静态方法和实例方法的区别及应用场景
- 【链表的说明、方法---顺序表与链表的区别】
猜你感兴趣
版权申明
本文"Java,面向对象,抽象类和抽象方法(abstract的使用)":http://eshow365.cn/6-30352-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!