@N_-_N

Как определить класс у переменной?

Только начал изучить java и столкнулся с проблемой.
import com.company.Lorry;
import com.company.SportCar;

import java.util.Scanner;

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

        Scanner in = new Scanner(System.in);
        System.out.println("Выберите тип автомобиля(1 грузовик, 2 спорткар)");
        int type_of_car = in.nextInt();
        if(type_of_car == 1){
            Lorry machine = new Lorry();

        }
        if(type_of_car == 2){
            SportCar machine = new SportCar();
        }
        machine.start();
    }
}

Я хочу определить к одной переменной определенный класс в зависимости от условия. Но при вызове метода "machine.start();" выводит ошибка "Cannot resolve symbol 'machine'".
Как решить проблему?
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
@VolgaVolga
Переменная machine видна только внутри блоков "if". Если хотите использовать её за пределами "if", там же её и объявляйте.
Например, реализуйте один интерфейс с методом "start" для обоих класов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы