Как манипулировать переменными в глубоком классе

Я только начал изучать Java, и я думаю, что это очень простой вопрос, но я еще не нашел правильного ответа, поэтому я попробую здесь.

Я просто хочу показать в своей консоли имена и описания некоторых животных, но я не знаю, как манипулировать переменными из класса класса.

Я думаю, мне нужно использовать параметры, но я не могу найти, как их использовать в классе...

Мой "Animal.java"

public class Animal {
    private String nom;
    public static String DESCRIPTION;

    public String toString(){
        return "Je suis " + this.nom;
    }

    public void direNom(){
        System.out.println(toString());
    }

    public void direDESCRIPTION(){
        System.out.println("Description: " + this.DESCRIPTION);
    }

    public String getNom(){
        return nom;
    }

    public void setNom(String nom){
        this.nom = nom;
    }

    class Vertebre{
        int nbrVertebre;

        class Mammifere{

            class Ours{
                String nom = "Poumba";
                String DESCRIPTION = "Description de Poumba";
            }

            class Chimpanze{
                String nom = "Cheeta";
                String DESCRIPTION = "Description de Cheeta";
            }

            class Rats{
                String nom = "Ratata";
                String DESCRIPTION = "Description de Ratata";
            }

        }

        class Poisson{

            class Requins{
                String nom = "Jaws";
                String DESCRIPTION = "Description de Jaws";
            }

            class Raies{
                String nom = "Raimonta";
                String DESCRIPTION = "Description de Raimonta";
            }

            class Truites{
                String nom = "Truita";
                String DESCRIPTION = "Description de Truita";
            }

        }

        class Reptile{

            class Tortue{
                String nom = "Tortega";
                String DESCRIPTION = "Description de Tortega";
            }

            class Serpent{
                String nom = "Serpento";
                String DESCRIPTION = "Description de Serpento";
            }
        }
    }
}

Мой "TestZoo.java"

public class TestZoo {
    public static void main(String[] args){

        Animal unAnimal = new Animal();

        unAnimal.setNom("Jaws");
        unAnimal.direNom();
        unAnimal.direDESCRIPTION();


        unAnimal.setNom("Cheeta");
        unAnimal.direNom();
        unAnimal.direDESCRIPTION();


        unAnimal.setNom("Ham");
        unAnimal.direNom();
        unAnimal.direDESCRIPTION();
    }
}

person Dinodzo    schedule 04.11.2014    source источник
comment
Что не так с тем, что у вас есть?   -  person Sotirios Delimanolis    schedule 04.11.2014
comment
Также обратите внимание на внутренние классы. Я не думаю, что вы должны использовать их здесь.   -  person Sotirios Delimanolis    schedule 04.11.2014
comment
Вы используете вложенность классов, где вместо этого вы хотите использовать наследование.   -  person John Bollinger    schedule 04.11.2014


Ответы (1)


Попробуй это:

import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone{

    public static void main(String []args){
        Ours poumba = new Ours();
        poumba.direNom();
    }
}

class Animal {
    protected String nom;

    public String toString(){
        return "Je suis " + this.nom + ", je suis un " + this.getClass();
    }

    public void direNom(){
        System.out.println(toString());
    }

    public String getNom(){
        return nom;
    }

    public void setNom(String nom){
        this.nom = nom;
    }

}

class Vertebre extends Animal {
    int nbrVertebre;
}

class Mammifere extends Vertebre {}

class Ours extends Mammifere {
    public Ours(){
        this.setNom("Poumba");
    }
}
person Sylvain P.    schedule 04.11.2014