Hej,
Mam klasę abstrakcyjną Animal, która jest klasą bazową. Mam też drugą klasę Bear, która dziedziczy po Animal. Po utworzeniu obiektu występuje problem z przypisaniem wartości do zmiennej klasy Bear. Mógłbym użyć konstruktora, ale chcę wiedzieć czemu tak się dzieje, że nie mogę tego zrobić tak jak to przedstawiłem poniżej:
package MainPackage;
public abstract class Animal{
int id;
String name;
float weight;
void introduce(){
System.out.println(" My name is " + name + " and my weight is " + weight);
}
}
class Bear extends Animal{
int furlength;
@Override
void introduce(){
System.out.println(" My name is " + name + " and my weight is " + weight + ". My fur length is " + furlength);
}
}
public class Main{
public static void main(String[] argv){
Animal bear = new Bear();
bear.name = "Yogi";
bear.weight = 200;
bear.furlength = 40;
}
}
Blad pojawia się w polu furlength przy przypisywaniu wartości 40. Czy to pole jest prywatne?
PS: Jakieś uwagi dotyczące dobrych praktyk? Poprawić dostepy?