Ошибка «Невозможно найти символ» — Java — инкапсуляция

У меня есть такая структура папок

День12
| Аккаунт.java
| AccountMain.java

Account.java содержит

package Day12;

public class Account {
    int id;
    String name;
    double balance;


    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public double getBalance() {
        return balance;
    }
    
    public void setId(int id){
        this.id = id;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setBalance(double balance) {
        this.balance = balance;
    }

    
    
}

И мой AccountMain.java

package Day12;

public class AccountMain {
    public static void main(String[] args) {
        Account acc1 = new Account();

        acc1.setId(1);
        acc1.setName("John");
        acc1.setBalance(1000.0);

        System.out.println("Account ID: " + acc1.getId());
        System.out.println("Account Name: " + acc1.getName());
        System.out.println("Account Balance: " + acc1.getBalance());
    }
}

Каждый раз, когда я запускаю javac AccountMain.java, я получаю эту ошибку.

AccountMain.java:5: ошибка: не могу найти символ
Аккаунт acc1 = новый аккаунт();

Символ ^: класс Местоположение учетной записи: класс AccountMain AccountMain.java:5: ошибка: невозможно найти символ
Аккаунт acc1 = новый аккаунт();

Символ ^: класс Местоположение учетной записи: класс AccountMain
2 ошибки

Я запутался, потому что не знаю, почему он говорит: «Невозможно найти символ», даже если они у меня в одном пакете, и мой aitocomplete смог обнаружить класс учетной записи.

Вам нужно запустить javac в корневом каталоге ваших пакетов, то есть выше Day12.

tgdavies 04.04.2024 05:59

Попробуйте скомпилировать оба класса вместе.

prasad_ 04.04.2024 07:18

@Abra, я использую код VS и Java 17.

MeLoveCats 04.04.2024 11:47

Отвечает ли это на ваш вопрос? Не могу найти класс в одном пакете

k314159 04.04.2024 16:43
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
4
91
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать следующие шаги

  1. попробуй чистую сборку

  2. Проверьте порядок компиляции или вы можете скомпилировать вручную в этом порядке.

  • javac Day12/Account.java

  • javac Day12/AccountMain.java

Это работает для меня, спасибо. Но мне это действительно кажется странным, поскольку когда я пробую это в IntelliJ, эта ошибка не возникает, но когда я делаю это в коде VS. Я сталкиваюсь с этим.

MeLoveCats 05.04.2024 16:53

Другие вопросы по теме