спасибо за помощь. У меня есть некоторые самостоятельные данные, и я не могу понять, как использовать информацию, не получив эту ошибку.
"Невозможно ссылаться на поле до его определения"
class Bus {
String name;
Location destination;
Bus(String name, Location destination){
this.name = name;
this.destination = destination;
}
}
class Location {
String name;
Bus busToLocation;
Location(String name, Bus busToLocation){
this.name = name;
this.busToLocation = busToLocation;
}
}
class Examples{
Bus bus1 = new Bus("Charlie", loc1);
Location loc1 = new Location("USA", bus1);
}
Конечно, это имеет смысл, поскольку Java работает сверху вниз. К сожалению, я не могу просто изменить порядок на
Location loc1 = new Location("USA", bus1);
Bus bus1 = new Bus("Charlie", loc1);
, поскольку у меня все еще остается та же проблема.
Я подумал о том, чтобы попробовать что-то вроде первоначального создания нулевого указателя (как вы могли бы в некоторых других языках)
class Examples{
Bus bus1;
Location loc1;
bus1 = new Bus("Charlie", loc1);
loc1 = new Location("USA", bus1);
}
Но я вполне уверен, что вы не можете сделать это в Java. (Это недопустимый синтаксис)
Какой лучший способ сделать это? Спасибо!
Редактировать: Это упрощение фактического кода. В реальном коде шины имеют несколько уровней классов и находятся внутри самореферентного списка, поэтому гораздо труднее использовать сеттеры для их изменения после факта. Если возможно, я бы хотел найти решение, не требующее установки.