Java多态性学习

这是从Java变成那些事儿上面学到的,记录一下。

 

public class Test
{
	public static void main(String[] args)
	{
		SuperClass sc = new SuperClass();
		SuperClass sc1 = new SubClass1();
		SuperClass sc2 = new SubClass2();
		
		System.out.println(sc1 instanceof SuperClass);
		System.out.println(sc1 instanceof SubClass1);
		
		Test2(sc);
		Test2(sc1);
		Test2(sc2);
	}
	
	public static void Test2(SuperClass sc)
	{
		sc.Test();
	}
}

class SuperClass
{
	void Test()
	{
		System.out.println("SuperClass");
	}
}

class SubClass1 extends SuperClass
{
	void Test()
	{
		System.out.println("SubClass1");
	}
}

class SubClass2 extends SuperClass
{
	void Test()
	{
		System.out.println("SubClass2");
	}
}

 

 

输出为:

true
true
SuperClass
SubClass1
SubClass2

 

你可能感兴趣的:(java)