Lecture Videos
  1  public class DynamicBindingDemo {
  2    public static void main(String[] args) {
  3      m(new GraduateStudent());
  4      m(new Student());
  5      m(new Person());
  6      m(new Object());
  7    }
  8  
  9    public static void m(Object x) {
 10      System.out.println(x.toString());
 11    }
 12  }
 13  
 14  class GraduateStudent extends Student {
 15  }
 16  
 17  class Student extends Person {
 18    @Override 
 19    public String toString() {
 20      return "Student";
 21    }
 22  }
 23  
 24  class Person extends Object {
 25    @Override 
 26    public String toString() {
 27      return "Person";
 28    }
 29  }