Java多态
多态是同一个行为具有多个不同的表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同的操作
必要条件
1. 继承
2. 重写
3. 父类引用指向子类对象(Parent p = new child())
实例
抽象类
在面向对象的概念中,所有的对象都是通过类来描绘的,但并不是所有的类都是用来描绘对象的,一个类中没有足有信息来描绘一个对象,这就是抽象类。
抽象类不能实例化对象,只能被继承才能被使用,通常在设计阶段决定要不要设计抽象类。
在java中抽象类表示的是一种继承关系,一个类只能继承一个抽象咧,却可以实现多个接口
抽象方法只是生命,不包含方法体,方法的具体实现由继承它的子类来实现,且继承抽象类的子类必须要实现抽象类的抽象方法,除非它也是抽象类
抽象类不一定包含抽象方法,包含抽象方法的类一定是抽象类
定义
用abstract class来定义抽象类
//定义一个抽象类Animal,拥有自己的属性,方法,构造器
public abstract class Animal{
private String name;
public Animal(String name){
this.name = name;
}
public String get(){ //抽象类中的普通方法
return name;
}
public abstract String getName();//抽象类中的抽象方法
}
//当尝试实例化抽象类,会出现编译错误
Animal a = new Animal ("jingba");
继承抽象类
public class Cat extends Animal{
private String name;
public Cat(String name){
super(name);
this.name = name;
}
public getName(){
return name;
}
}