/*
当多个类中出现相同功能。但是功能主题不同
这时可以进行向上抽取。这时,只抽取功能定义,而不抽取功能主题
抽象;看不懂。
抽象类的特定:
1,抽象方法一定定义在抽象类中。
2,抽象方法和抽象类都必须被abstract关键字修饰。
3,抽象类不可以用new创建对象。因为抽象方法没意义。
4,抽象类中的抽象方法要被使用,必须由子类写所有的抽象方法后,建立子
类对象调用。如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类
*/
//建立一个学生类
abstract class Student {
abstract void study(); //经过不断向上抽取。总结出来。所有学生都会学习这个功能
}
class BaseStudent extends Student { //定义一个初级班的类,让其继承学生类
void study() {
System.out.println("base Student");
}
}
class AdvStudent extends Student { //定义一个中级班的类,让其继承学生类。
void study() {
System.out.println("Adv Student");
}
}
class AbstractDemo {
public static void main(String[] args) {
BaseStudent bs = new BaseStudent();
bs.study();
AdvStudent as = new AdvStudent();
as.study();
}
} |
|