Почему этот импорт не работает через пакеты в Eclipse? - PullRequest
0 голосов
/ 10 марта 2020

Вот архитектура проекта: enter image description here

Вот класс Car, который не будет компилироваться:

package car;

import engine.Engine;

    public class Car {
        private Engine engine;

        /***
         * Constructor
         * @param engine The engine that the car object will have
         */
        Car(Engine engine) {
            engine = new Engine(engine);    // Use the Engine copy constructor
        }
    }

Вот ошибка: enter image description here

Вот класс двигателя в пакете двигателя:

package engine;

public class Engine {
    private String name;
    private int displacement;

    public Engine(String name, int displacement) throws Exception {
        setName(name);
        setDisplacement(displacement);
    }
    public String getName() {return name;}
    public int getDisplacement() {return displacement;}

    private void setName(String name) throws Exception {
        if (name.trim().length() == 0) {
            throw new Exception("Engine name cannot be blank");
        }
    }
    private void setDisplacement(int displacement) throws Exception {
        if (displacement < 0) {
            throw new Exception("Engine displacement cannot be zero or negative");
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 10 марта 2020

Исправлено: я не изменил код, я удалил проект из рабочей области, закрыл Eclipse, снова открыл Eclipse с другой рабочей областью и импортировал тот же проект в рабочую область. Arrrgh.

0 голосов
/ 10 марта 2020

Попробуйте очистить проект в Project -> clean

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...