Вы ссылаетесь на Animal для создания объектов barsik и anfis, но вы не реализуете метод attackTarget () в этом классе. Если вы хотите использовать метод attackTarget из класса Cat, вы должны ссылаться на объект barsik на Cat:
Cat barsik = new Cat();
или реализовать этот метод в классе Animal:
public void attackTarget(Animal target) {
// Code Here
}
Также, методы setHealth и getHealth не определено в классе Animal. Для этого:
public class Animal {
private int size = 0;
private int health = 5;
private int attackPoint = 2;
public int getAttackPoint() {
return attackPoint;
}
public void attackTarget(Animal target) {
// Code Here
}
public void setHealth(int healt) {
// Code Here
}
public int getHealth() {
return 0;
}
}
А:
public class Cat extends Animal{
public void attackTarget (Animal target) {
target.setHealth(target.getHealth() - this.getAttackPoint());
}
}
И:
public class test {
public static void main(String[] args) {
Animal anfis = new Cat();
Animal barsik = new Cat();
anfis.setHealth(5);
barsik.setHealth(5);
barsik.attackTarget(anfis);
}
}