继承:extends
方法重写
方法重载
抽象 abstract
抽象类:
不能实例化,有构造方法。
抽象类中,有实例方法,抽象方法
抽象方法:
没有方法体
有抽象方法的类 必然是抽象类或接口。
抽象方法必须被子类重写,除非子类也是抽象类。
final关键字
fianl修饰的类 String
多态:
什么是多态?
同一个类型的对象,调用同一个方法,得到不同的结果。
Animal a = new Dog1(); 父类的引用 指向 子类的对象。向上转型。自动转向。
编译时类型为 Animal
运行时类型为 Dog1
多态形成的必要条件:
1,要有继承
2,父类的引用 指向 子类的对象
3,要有重写方法
instanceof
if(pet instanceof Dog){ //判断pet是否时Dog类的实例对象
// 将pet对象转换成Dog对象 父类转子类 向下转型 强制转换
Dog dog = (Dog) pet;
dog.play();
}
java.lang.ClassCastException 异常 ,类转换错误异常 ,不能将Dog对象转换成Cat