多态也是面向对象的三个特征之一,它是一个抽象的概念,多态也就是多种状态指的是拥有相同的形式,但是不同的参数实现不同的功能,在java中所有的对象都是具有多态性的,因为所有的对象都能通过is-a的形式来表现出来。
多态的三个要素是
1:一定要有继承
2:一定要有方法重写
3:父类指向子类
同时满足这三个要素就是多态,所以多态就是继承的一种延生
多态的注意点
1;继承是多态的基础,没有继承就没有多态
2:向上转型:指的是把子类转为父类,(自动类型转换)
3:向下转换:就是把父类转为子类,(强制转换)
4:使用父类作为方法形参是使用多态的 常用方法。
代码举例
class Fu {
public int num = 100;
public void show() {
System.out.println("show Fu");
}
public static void function() {
System.out.println("function Fu");
}
}
class Zi extends Fu {
//满足继承关系
public int num = 1000;
public int num2 = 200;
public void show() {
//子类重写父类的方法
System.out.println("show Zi");
}
public void method() {
System.out.println("method zi");
}
public static void function() {
System.out.println("function Zi");
}
}
class DuoTaiDemo {
public static void main(String[] args) {
//要有父类引用指向子类对象。
//父 f = new 子();
Fu f = new Zi();
System.out.println(f.num);
//找不到符号
//System.out.println(f.num2);
f.show();
//找不到符号
//f.method();
f.function();
}
}