在子类中设置方法

时间:2016-11-09 18:19:30

标签: java eclipse

我需要通过从超类调用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中创建它。

1 个答案:

答案 0 :(得分:0)

因为一切都是公开的(这是可怕的BTW),你可以简单地打电话给超级班级' frimbthe子类的方法。甚至不需要超级。

尽管如此,你应该改变你不想从外面到达至少受到保护的成员,如果你从不想制作一个纯粹的外星人物体,你应该做到avstract class。