向上转型和向下转型

 

对象的多态性:

向上转型:子类对象变为父类对象

向下转型:父类对象变为子类对象

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();
	}

  

 

posted @ 2016-07-23 22:33  雨下个不停  阅读(249)  评论(0编辑  收藏  举报