一、面向对象最核心的机制——动态绑定,也叫多态
1.1.通过下面的例子理解动态绑定,即多态
1package javastudy.summary; 2 3class Animal { 4/** 5 * 声明一个私有的成员变量name。 6*/ 7private String name; 8 9/** 10 * 在Animal类自定义的构造方法 11 * @param name 12*/ 13 Animal(String name) { 14this.name = name; 15 } 16 17/** 18 * 在Animal类里面自定义一个方法enjoy 19*/ 20publicvoid enjoy() { 21 System.out.println("动物的叫声……"); 22 } 23} 24 25/** 26 * 子类Cat从父类Animal继承下来,Cat类拥有了Animal类所有的属性和方法。 27 * @author gacl 28 * 29*/ 30class Cat extends Animal { 31/** 32 * 在子类Cat里面定义自己的私有成员变量 33*/ 34private String eyesColor; 35 36/** 37 * 在子类Cat里面定义Cat类的构造方法 38 * @param n 39 * @param c 40*/ 41 Cat(String n, String c) { 42/** 43 * 在构造方法的实现里面首先使用super调用父类Animal的构造方法Animal(String name)。 44 * 把子类对象里面的父类对象先造出来。 45*/ 46super(n); 47 eyesColor = c; 48 } 49 50/** 51 * 子类Cat对从父类Animal继承下来的enjoy方法不满意,在这里重写了enjoy方法。 52*/ 53publicvoid enjoy() { 54 System.out.println("我养的猫高兴地叫了一声……"); 55 } 56} 57 58/** 59 * 子类Dog从父类Animal继承下来,Dog类拥有了Animal类所有的属性和方法。 60 * @author gacl 61 * 62*/ 63class Dog extends Animal { 64/** 65 * 在子类Dog里面定义自己的私有成员变量 66*/ 67private String furColor; 68 69/** 70 * 在子类Dog里面定义Dog类的构造方法 71 * @param n 72 * @param c 73*/ 74