java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
System.out.println("D");
}
}
class B extends A{
public void test(){
System.out.println("B");
}
}
public class C extends A{
public static void main(String args[]){
//运用多态将类实例化,
C c = new C(); 1A
A c =new A(); 2 A
A c =new B(); 3B
A c =new C(); 4A
A c =new D(); 5D
c.test();
}
}
/*
运行结果:
1 A
2, A
3, B
4, A
5 , D
*/
分析结果:
C c = new C(); 直接将类实例化,这个很简单,没用到多态性
A c =new A(); 直接将类实例化,这个很简单,没用到多态性
A c =new B(); 由于B类是继承的A类,所以在实例化的时候可以使用多态性类实例化,使用基类来实例化子类,由于子类重写了基类中的方法,结果是B
A c =new C(); 由于C类是继承A类,所以在实例化的时候可以使用多态性来实例化,使用基类来实例化子类,由于子类中没有重写基类的方法,结果是A
A c =new D(); 由于D类是继承的A类,所以在实例化的时候可以使用多态性类实例化,使用基类来实例化子类,由于子类重写了基类中的方法,结果是D