多态 --> 动态绑定

多态:一个对象变量可以指向多种对象类型(前提是在同一个继承分支上)下面的代码表明employee变量既可以是Employee对象的变量,同样也可以时Manager对象变量。

public class Employee{}
public class Manager extends Employee{}
public class Polymorphism{
    public static void main(String[] args){
          Employee employee = new Manager(); 
          employee = new Employee();
    }
}

动态绑定:在运行时,能够根据实际的对象类型自动的选择对应类型的方法.

public class Employer{
     public void printOutClassName(){
         System.out.println("Employee");
     }
}
public class Manager extends Employee{
     public void printOutClassName(){
         System.out.println("Manager");
     }
}

public class DynamicBindingTest{
    public static void showDynamicBinding(Employer[] employers){
        for(Employer employer : employers){
            employer.printOutClassName();
        }
    }
    public static void main(String[] args){
        Employer employers = new Employer[2];
        
        employers[0] = new Employer();
        employers[1] = new Manager();
        
        showDynamicBinding(employers);
    }
}

继承的层次结构:

添加一张层次图片(TO BE CONTINUE)

posted @ 2012-10-07 14:10  papertiger  阅读(130)  评论(0)    收藏  举报