java面向对象学习--抽象类
1
子类必须覆写父类的抽象方法,并且等级不可以比父类的抽象方法低,比如父类的抽象方法是public,子类覆写的就不可以是默认

图中报错就是因为子类覆写的方法是默认,但是父类的是public
具体代码
// abstract class
public class Main {
public static void main(String[] args) {
Person p = new Student();
p.run();
}
}
abstract class Person {
public abstract void run();
}
class Student extends Person {
@Override
public void run() {
System.out.println("Student.run");
}
}
面向抽象编程
其实就是定义了一个抽象类是person,及其子类student teacher,在调用person类中的抽象方法run的时候
尽量这样
Person s = new Student();
Person t = new Teacher();
// 不关心Person变量的具体子类型:
s.run();
t.run();

浙公网安备 33010602011771号