抽象类
在类Animal中,我们介绍了sound()方法的一个版本,该方法没有任何内容,这是因为我们想在子类对象中动态地调用sound{)方法。在一般的类Animal中,方法sound()没有任何意义,所以实现它也没有什么意义,这种情况经常出现在面向对象的程序设计中。你会经常发现你自己建立了一个超类,利用多态性从这里你会派生许多的子类。
Java用抽象类( abstract classes)来处理这种情况。一个抽象类就是有一个或者多个方法只被声明,而没有被定义的类。这些方法体被省略的原因是如同本例中的类Animal的方法sound()一样,实现它没有什么意义。由于没有定义它们的内容,所以把它们称作抽象方法(abstract methods ).抽象方法的声明以分号结束,并且用关键字abstract来说明它以标识它为抽象方法。为了定义一个抽象类,你要在类名的前面使用关键字abstract.
通过下面语句的修改,我们可以把类Animal定义成一个抽象类:
public abstract class Animal
{
public abstract void Round(); //Abstract method
public Animal(String Atype)
{
type=new String(aType);
{
public String toString()
{
Return .This is a+type
{
private String type;
上面这个程序在做这些改动后仍然能够正常地运行。至于放在类名前面的是publicabstract还是abstract public并没有关系,这两种形式完全等价,但是应该在你的应用中保持一致。人们普遍比较喜欢public abstract顺序。抽象方法的声明也是一样,但是public和abstract都必须提前到返回类型说明之前,在本例中的返回类型为void。
考无忧小编推荐:
更多计算机等级考试真题及答案>>>点击查看
想知道更多关于计算机等级报考指南、考试时间和考试信息的最新资讯在这里>>>点击查看