这是从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