构造器与多态

来源:互联网 发布:品茗网络计划逻辑 编辑:程序博客网 时间:2024/05/22 14:15

1. 父类构造器调用普通方法,子类重写该方法:此时初始化子类,默认会初始化父类,但是父类调用的却是子类重载后的方法

package com.yjq.cn.polymorphism;public class AnimalConstuctors {public static void main(String[] args) {new Dog(4);}}class Animal {public Animal() {System.out.println("animal before eat");eat();  //构造过程中引用了eat方法System.out.println("animal after eat");}void eat() {System.out.println("Animal.eat()");}}class Dog extends Animal {private int num = 1;public Dog() {}public Dog(int num) {this.num = num;System.out.println("Dog.Dog(), num=" + num);}void eat() {System.out.println("Dog.eat() ,num=" + num);}}

//output
animal before eat
Dog.eat() ,num=0
animal after eat
Dog.Dog(), num=4

原创粉丝点击