Итак, Main.java вызывает класс House из House.java , предполагается один из методов House.class вызов метода из класса Назначение расширяет наследование , которое находится в Succession.java .
Но по какой-то причине компилятор не находит Appointment
и предполагает, что это должна быть пропущенная переменная, почему? Если я переместлю класс Appointment в Main.java или предоставлю ему собственный файл, компилятор найдет его.
Я спрашиваю об этом, потому что я пытался воссоздать ошибку, так как я не смог ...
House.java:
public void succession(){
if (this.kinsmen.size() > 0){
Appointment.callHeir(this.head, Main.human.get(1));
Succession.java:
class Appointment extends Succession {
public static boolean callHeir(Human appointer, Human appointed){
Ошибка:
error: cannot find symbol
Appointment.callHeir(this.head, Main.human.get(1));
^
symbol: variable Appointment
location: class House
Редактировать полный свернутый код:
Main.java:
class Main {
public static void main(String[] args) {
House.succession();
}
}
House.java:
public class House {
public static void succession() {
Appointment.callHeir();
}
}
Succession.java:
class Succession{
}
class Appointment extends Succession {
public static void callHeir(){
}
}