向上转型和向下转型
对象的多态性:
向上转型:子类对象变为父类对象
向下转型:父类对象变为子类对象
class A{
public void print(){
System.out.println("A");
}
}
class B extends A{
public void print(){
System.out.println("B");
}
}
class C extends A{
public void print(){
System.out.println("C");
}
}
使用向上转型
public static void main(String[] args) {
fun(new B());//利用向上转型
fun(new C());
}
public static void fun(A a){
a.print();
}
不使用向上转型,会产生很多方法
public static void main(String[] args) {
fun(new B());//利用向上转型
fun(new C());
}
public static void fun(B b){
b.print();
}
public static void fun(C c){
c.print();
}
浙公网安备 33010602011771号