Вы должны прочитать как super ключевых слов и inheritance работает в Java.
Получение суперкласса, или класс, который распространяется на ваш класс, в действительности не является обязательным. Смотрите рисунок ниже:
public class A {
protected int value;
public A() {
this.value = 2;
}
}
public class B extends A {
public B() {
System.out.println(value); // prints 2
}
}
Чтобы сослаться на суперкласса, используйте супер ключевое слово. См. Пример ниже:
public class A {
public void doStuff() {
System.out.println("parent");
}
}
public class B extends A {
public B() {
doStuff(); // prints "child"
super.doStuff(); // prints "parent"
}
@Override
public void doStuff() {
System.out.println("child");
}
}
Надеюсь, это ответит на ваш вопрос.
Hacky и вообще ненужный материал
Вы можете, конечно, получить родительский объект. Для этого я рекомендую сделать защищенный (или общедоступный) метод для класса А, который возвращает себя. См. Пример кода ниже:
public class A {
protected A getMe() {
return this;
}
}
public class B extends A {
public B() {
A superInstance = getMe();
}
}
Это непроверенный код, но я не понимаю, почему это не сработает.
https://docs.oracle.com/javase/tutorial/java/IandI/super.html Хотя кажется, что это довольно хаки, что вы пытаетесь сделать сейчас. Подкласс не должен содержать ссылку на базовый класс, что даже не имеет смысла. –
My A class - это класс Entity в спящем режиме. Я не хочу писать какие-либо функции в классе сущности, но я хочу, чтобы объект объекта в дочернем классе для вставки. –
Нет такой вещи, как * родительский объект *. Java использует наследование на основе классов. –