public abstract class Pet {protected int hValue;protected static final int PENGUIN_VALUE = 5;protected static final int DOG_VALUE = 5;abstract void addHV();abstract void play();public int gethValue() {return hValue;};}/*dog*/public class Dog extends Pet {@Overridepublic void addHV() {hValue = DOG_VALUE;System.out.println("dog full");}@Overridevoid play() {System.err.println("pick a frisbee");}}/*Penguin */public class Penguin extends Pet {@Overridepublic void addHV() {hValue = PENGUIN_VALUE;System.out.println("penguin full");}@Overridevoid play() {System.out.println("swimming");}}public class Owner {void feed(Pet pet) {pet.addHV();}void play(Pet pet) {pet.play();}public static void main(String[] args) {Owner owner = new Owner();Pet dog = new Dog();Pet penguin = new Penguin();owner.feed(dog);owner.feed(penguin);owner.play(dog);owner.play(penguin);}}