我需要通过从超类调用set方法来设置子类中的值。我需要从子类
设置怪物名称和健康状况异形课
protected
Snake class
public class Alien {
//Instance variables
public String monsterName;
public int HP;
//A method that sets monster properties
public void setValues(String monsterN, int health) {
monsterName = monsterN;
HP = health;
}
//A method that returns the monster name
public String getName() {
return monsterName;
}
//A method that returns monster's health
public int getHP() {
return HP;
}
//ToString method that prints out the info
public String toString() {
return("Monster name: " + getName() + "Monster's current health point: " + getHP());
}
}
主要课程
public class SnakeAlien extends Alien {
//Instance variable
//Set the snake values
Alien aObject = new Alien();
aObject.setvalues("Snake\n" 55));
}
我知道如何通过主类设置这些值,但我需要从public class Main {
public static void main(String[] args) {
Alien object = new Alien();
object.toString();
System.out.println(object);
}
}
类中的子类SnakeAlien
中创建它。
答案 0 :(得分:0)
因为一切都是公开的(这是可怕的BTW),你可以简单地打电话给超级班级' frimbthe子类的方法。甚至不需要超级。
尽管如此,你应该改变你不想从外面到达至少受到保护的成员,如果你从不想制作一个纯粹的外星人物体,你应该做到avstract class。