Java基础——对象多态性产生的"参数统一化"
Java中不仅方法具有多态性,对象也同样具有多态性**
方法多态性:指一个类实例的相同方法在不同情形下有不同的表现形式,主要操作包含重载与重写。
对象多态性:父类与子类对象之间的转换,只要包含向上转型与向下转型
具体有关重载与重写的详细内容,可参考,方法覆写与方法重载。有关对象多态性的介绍,可参考,向上转型和向下转型。
由于Java支持默认的向上转型,因此所谓"参数统一化"就是将父类的引用设置为方法的形参,而将实际的子类对象作为调用该方法时的实参
,由于向上转型,该方法可以传多个子类对象,而在该方法中
,使用的是同一个标准
(父类引用)。"参数统一化"是向上转型的具体实现,其好处可参考:向上转型的好处
举个"参数统一化"的栗子
class Person{
public void fun(){
System.out.println("我是学生");
}
public void show(){
System.out.println("你好人类");
}
}
class Student extends Person{
public void fun(){
System.out.println("我是学生");
}
public void show(){
System.out.println("你好学生");
}
}
class Worker extends Person{
public void fun(){
System.out.println("我是工人");
}
public void show(){
System.out.println("你好工人");
}
}
public class Test{
public static void main(String[] args){
test(new Student());
test(new Worker());
}
public static void test(Person per){
per.fun();
per.show();
}
}