编辑代码

class Main {
	public static void main(String[] args) {

        Animal pet = new Puppy();
        Parent person = new Child(); 

        person.print(pet);
	}
}

class Parent {
    void print(Puppy puppy) {
        System.out.println("parents0");
        puppy.howl();
	}
    // void print(Dog dog) {
    //     System.out.println("parents1");
    //     dog.howl();
	// }
    // void print(Animal animal) {
    //     System.out.println("parents2");
    //     animal.howl();
	// }
}

class Child extends Parent {
    void print(Puppy puppy) {
        System.out.println("Child0");
        puppy.howl();
	}
    void print(Dog dog) {
        System.out.println("Child11");
        dog.howl();
	}
    void print(Animal animal) {
        System.out.println("Child2");
        animal.howl();
	}
}

class Animal {
    void howl() {
        System.out.println("Animal");
	}
}

class Dog extends Animal {
    void howl() {
        System.out.println("Dog");
	}
}

class Puppy extends Dog {
    void howl() {
        System.out.println("Puppy");
	}
}