java的多态性探讨

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

 

 

 

你可能感兴趣的:(java)