点击查看:2015计算机等级考试二级Java入门教程章节汇总
点击查看:2015计算机等级考试二级Java入门教程第六章汇总
6.6 抽象类
在类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。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |