2016-11-09 5 views
-1

スーパークラスからsetメソッドを呼び出すことによって、サブクラスから値を設定する必要があります。私は、サブクラスサブクラスのメソッドを設定する

エイリアンクラス

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から行う必要があります。Alienクラスからです。

答えて

0

すべてが公開されているので(ひどいBTWです)、スーパークラスのメソッドをサブクラスに呼び出すことができます。スーパーは必要ありません。

あなたは、少なくとも保護に外部から到達したくない、とあなたは純粋な外国人のオブジェクトを作りたくない場合は、あなたがavstractクラスことを確認する必要がありますが、あなたべき変更メンバー。

+0

私はその点を得ていませんでした。オブジェクトを持たないスーパークラスからメソッドを呼び出すにはどうすればよいですか? – TecHummer

+0

@TecHummerあなたはオブジェクトを持っています。実際にあなたはその中にいます。継承された関数がサブクラスのソースコードに連結されているかのように想像してください。 –

+0

私はまだそれを得ることはありません。どのようにスーパークラスからのサブクラスでメソッドを使用するには? – TecHummer

関連する問題