Wpis z mikrobloga

@dobry_programista: ucze się dopiero, wcześniej wszystko w main pisałem a teraz chce to dzielić na obiekty, klasy itp. Stworzyłem klase zwierzęta, dałem atrybuty. Dopisałem funkcje aby dodawało zwierzę. Później stworzyłem obiekt zwierzaka z1 i chciałem mu dodać opis. Nie wiem w sumie gdzie błąd popełniłem. I nie wiem czemu robić tak, że wartość obiektu ma mieć null?
@NiePrzystosowanyDoZycia: a skąd wziąłeś to że obiekt ma mieć null? Właśnie przez to Ci to nie działa i w takich przypadkach nigdy tak się nie robi.
Poczytaj sobie o konstruktorach, który musisz tutaj wywołać aby ten kod zadziałał. W skrócie Ci teraz tylko podam, że zamiast:

zwierzęta z1 = null;
powinno być

zwierzęta z1 = new zwierzęta();
co powoduje, że tworzysz obiekt i możesz cokolwiek z nim zrobić.
EDIT: poza tym
@NiePrzystosowanyDoZycia: Żeby być w pełni formalnie poprawnym to nie tyle źle stworzyłeś obiekt klasy co w ogóle go nie stworzyłeś.
No i jeszcze poczytaj o scope i przysłanianiu zmiennych i pól bo aktualnie metoda dodaj_zwierze() przypisuje wartości do zmiennych lokalnych które nie są dostępne po wyjściu z niej.
@bi-tek: @dobry_programista: Nie mam teraz za bardzo jak sprawdzić, chcę się tylko dopytać to może mi ktoś z was odpowie - jak tutaj OP zadeklarował zmienne, np. int wiek; na początku klasy, to potem w metodzie nadal pisze typ zmiennej - po pierwsze: to chyba nie jest wymagane? po drugie: nie jest to coś co nawet nie powinno mieć miejsca bo bedzie powodować warrningi/errory?
@Najkon: zakładając, że OP chciał wartości z klawiatury zapisywać w polach klasy (czyli w zdefiniowanych polach takich jak int wiek itp.), to ten sposób jest całkowicie błędny, gdyż OP tworzy lokalne zmienne o takich samych nazwach i do nich przypisuje wartości. Docelowo powinien użyć tylko nazw pól klasy, aby do nich przypisać wartości.
Ten kod jednak nie spowoduje żadnych ostrzeżeń czy błędów kompilacji - taka opcja (utworzenie lokalnych zmiennych o tej