java 编程思想笔记之多态

向上转型:对象既可以作为它自己本身的类型使用,也可以作为基类型使用。把某个对象的引用视为对其基类型的引用的做法就叫做向上转型。

 

方法绑定:将一个方法调用同一个方法主体关联起来。若在程序执行前进行绑定,叫做前期绑定。若在运行时根据对象的类型进行绑定叫做后期绑定(动态绑定或运行期绑定)。Java中除了static方法和final方法(private方法属于final方法)之外,其他所有的方法都是后期绑定。

 

成员变量是在对象初始化(new)时由编译器分配在堆内存中的,静态方法是与类相关联的,它们都不与单个对象相关联。因此都不具有多态性。

 

多态3条件:1.继承;2.重写;3.父类引用指向子类对象。

 

例子:
 
/**

 * Title:Cycle.java

 * Description:演示多态

 *

 * @author winwin

 * @version 1.0

 * @since 2009-4-9上午10:16:48

 */

public class Cycle {

    public void ride(){

       System.out.println("ride");

    }

}

 

public class Unicycle extends Cycle {

    @Override

    public void ride(){

       System.out.println("ride unicycle!");

    }

}

 

public class Bicycle extends Cycle {

    @Override

    public void ride(){

       System.out.println("ride bicycle!");

    }

}

 

public class Tricycle extends Cycle {

    @Override

    public void ride(){

       System.out.println("ride tricycle!");

    }

}

 

public class TestRide {

 

    public void rideCycle(Cycle cycle){

       cycle.ride();

    }

    public static void main(String[] args) {

       Unicycle uc = new Unicycle();

       Bicycle bc = new Bicycle();

       Tricycle tc = new Tricycle();

      

       TestRide tr = new TestRide();

      

       //父类引用指向子类对象,rideCycle的参数为父类引用,uc,bc,tc为子类对象。

       tr.rideCycle(uc);

       tr.rideCycle(bc);

       tr.rideCycle(tc);

    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章