首页 理论教育 Java程序设计教程:抽象类的实现案例代码与注意事项

Java程序设计教程:抽象类的实现案例代码与注意事项

时间:2023-11-16 理论教育 版权反馈
【摘要】:继承抽象类的子类必须实现父类的抽象方法,除非子类也被定义成一个抽象类。抽象类实现案例代码,如文件5-13 所示。文件5-13Example13.java执行结果抽象类注意事项:抽象类不能被实例化。也就是说,抽象类可以没有abstract 抽象方法。一旦类包含了abstract 抽象方法,则这个类必须声明为abstract 抽象类。

Java程序设计教程:抽象类的实现案例代码与注意事项

抽象类是指在类中定义方法,但是并不去实现它,而在它的子类中去具体地实现。定义的抽象方法不过是一个方法占位符。继承抽象类的子类必须实现父类的抽象方法,除非子类也被定义成一个抽象类。

当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的。例如,前面在定义Animal 类时,shout()方法用于表示动物的叫声,但是针对不同的动物,叫声也是不同的,因此,在shout()方法中无法准确描述动物的叫声。

针对上面描述的情况,Java 允许在定义方法时不写方法体,不包含方法体的方法为抽象方法,抽象方法必须使用abstract 关键字来修饰,抽象类及抽象方法定义的语法格式:

在定义抽象类时需要注意,包含抽象方法的类必须声明为抽象类,但抽象类可以不包含任何抽象方法,只需使用abstract 关键字来修饰即可。另外,抽象类是不可以被实例化的,因为抽象类中有可能包含抽象方法,抽象方法是没有方法体的,不可以被调用。如果想调用抽象类中定义的方法,则需要创建一个子类,在子类中将抽象类中的抽象方法进行实现。

【例5.12】下面通过一个案例来学习如何实现抽象类中的方法,如文件5-12 所示。

文件5-12 Example12.java

执行结果

汪汪……

当父类的一些方法不能确定时,可以用abstract 关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]。

【例5.13】抽象类实现案例代码,如文件5-13 所示。(www.xing528.com)

文件5-13 Example13.java

执行结果

抽象类注意事项:

(1)抽象类不能被实例化。

(2)抽象类不一定要包含abstract 方法。也就是说,抽象类可以没有abstract 抽象方法。

(3)一旦类包含了abstract 抽象方法,则这个类必须声明为abstract 抽象类。

(4)抽象方法不能有主体。

正确的抽象方法例:abstract void abc();

错语的抽象方法例:abstract void abc(){};

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈