抽象类,限制实例化
1、不允许被直接实例化,只能被继承
2、可通过向上转型指向子类实例
应用场景:某些父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法
Animal two=new Cat("f",6,8);~
抽象方法:把在父类中只是限定子类必须具有的某种行为能力的方法做成抽象方法
public abstract void run();~
1、不允许有方法体,不需要具体实现
2、子类必须重写父类的抽象方法,否则子类也是抽象类
抽象类、抽象方法使用价值
1、某种行为能力在不同子类中的表现形式可能不同,因此没有必要在父类中写具体的实现体
2、定义抽象方法后,编译器会提醒子类需要重写该方法
public abstract void run();//抽象方法
public void run(){}//空方法体
static final private不能与abstract一起使用
abstract方法需要被子类重写
private只能在当前类中被访问
final子类不能重写该方法
static子类不能重写该方法