当前位置:首页 > 编程笔记 > 正文
已解决

Java,面向对象,抽象类和抽象方法(abstract的使用)

来自网友在路上 173873提问 提问时间:2023-11-02 16:43:27阅读次数: 73

最佳答案 问答题库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%的人还看了

猜你感兴趣

版权申明

本文"Java,面向对象,抽象类和抽象方法(abstract的使用)":http://eshow365.cn/6-30352-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!