成都传智播客吧 关注:267贴子:2,257
  • 0回复贴,共1

【成都校区】抽象类知识总结

只看楼主收藏回复

抽象类的学习总结.
下面通过一下的小程序深入理解抽象类
因此在类Animal里面只需要定义这个enjoy()方法就可以了,使用abstract关键字把enjoy()方法定义成一个抽象方法,定义如下:public abstract void enjoy();
从某种意义上来说,抽象方法就是被用来重写的,所以在父类声明的抽象方法一定要在子类里面重写。如果真的不想在子类里面重写这个方法,那么可以再在子类里面把这个方法再定义为抽象方法,因为子类觉得我去实现也不合适,应该让继承我的子类去实现比较合适,因此也可以在继承这个子类的下一个子类里面重写在父类里面声明的抽象方法,这是可以的。
这里有一个规则:既然父类里面的方法是抽象的,那么对于整个类来说,它就有一个没有实现的方法,这个方法不知道怎么去实现,那么这个类是就是残缺不全的,因此这个类应该被定义为一个抽象类。所以前面这样声明的声明的class Animal应该要在class的前面加上abstract,即声明成这样:abstract class Animal,这样Animal类就成了一个抽象类了。Animal类的最终定义代码如下:
/** * 父类Animal * 在class的前面加上abstract,即声明成这样:abstract class Animal * 这样Animal类就成了一个抽象类了 */abstract class Animal {
public String name;
public Animal(String name) { this.name = name; }
/** * 抽象方法 * 这里只有方法的定义,没有方法的实现。 */ public abstract void enjoy();
}


1楼2018-07-13 19:03回复