Базовый класс;Использование метода базового класса Значение в унаследованных классах переопределенный метод
import java.util.Random;
public class Animal
{
public void move()
{
int value = 0;
System.out.println("Move");
Random rand = new Random();
value = rand.nextInt(2)+1;
}
}
Inherited Class;
public class Cat extends Animal
{
public void moveCat()
{
super.move();
System.out.println("Move Cat");
}
public static void main(String[] args)
{
Cat test = new Cat();
test.moveCat();
}
}
Я пытаюсь использовать значение метода животных базового класса в методе переопределения moveCat. Почему я не могу использовать значение «значение» в moveCat из Cat.
Для примера;
public void moveDoodle()
{
super.move();
System.out.println("Move Doodle");
if(value == 1)
{
System.out.println("Value from base");
}
}
Если я собираю содержимое из базового метода, почему я не могу использовать значения. Если это не возможно, что я должен делать вместо этого, чтобы получить нужные мне значения.
И для удобочитаемости кода, квалифицируйте все ссылки с помощью 'this.' –
Отлично, я сделал его переменной класса и использует this.value = значение внутри метода. – user2998504
@ user2998504 - Внутри какого метода? Я не совсем понял. – SudoRahul