Почему выскакивает NullPointerException [ООП]? Есть код в 1-ом файле (Main.java)public void setGlory(long glory)
{
this.glory = glory;
}
и код во втором файлеMain m;
public Bank() throws InterruptedException, IOException
{
this.glory = Main.getGlory();
System.out.println("Your balance is: $"+money);
private void depositMoney() throws InterruptedException
{
for (int i = 0; i

21 Авг 2019 в 07:03
206 +1
0
Ответы
1

Ошибка NullPointerException возникает потому, что вы не инициализировали переменную m типа Main. В конструкторе Bank() вы должны создать объект типа Main и присвоить его переменной m. В противном случае, когда вы вызываете метод setGlory() у переменной m, программа не знает, на каком объекте вызывать этот метод и поэтому возникает исключение NullPointerException.

Исправление:

Main m = new Main();
public Bank() throws InterruptedException, IOException
{
this.glory = Main.getGlory();
System.out.println("Your balance is: $"+money);
}
private void depositMoney() throws InterruptedException
{
for (int i = 0; i < 10; i++)
{
this.glory++;
System.out.println("Your glory is: ★"+glory);
Thread.sleep(1000);
}
m.setGlory(glory);
}

Теперь, после создания объекта Main в конструкторе Bank(), вы можете использовать переменную m для вызова метода setGlory() без ошибки NullPointerException.

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир