1.抽象类 abstract
public abstract class Animal{
private String name;
//抽象方法 普通类是不可以有{}的 只负责声明方法
public abstract void sleep();
}
抽象类不能new对象
抽象类只能创建子类来继承 extends
子类如果继承了为抽象类的父类 子类就必须实现父类中的抽象方法
子类必须实现父抽象类未实现的方法
运行的话要通过new子类对象来实现
2.Final常量关键字
//声明的时候必须赋值 赋值后无法更改
final int a=10;
final可以修饰方法和类 修饰方法的时候 方法不能重写 修饰类的时候 类不能继承
final不能和abstract一起使用
3.多态
多态:同一个引用类型,使用不同的实例而执行不同操作
使用多态实现思路:(实现多态的三个要素)
编写具有继承关系的父类和子类
子类重写父类方法
使用父类的引用指向子类的对象
向上转型:Pet pet = new Dog();//自动类型转换
实现多态的两种形式:
使用父类作为方法形参实现多态
使用父类作为方法返回值实现多态