Я собираюсь выступить с презентацией в моей компании (я стажер) о наследовании в Java.Я думаю, что я понял это, и я также знаю, как использовать это.Но одно не совсем так.Где хранятся методы в хранилище.И как объект узнает, где находятся методы?
Например:
У нас есть этот класс.
class Animal {
private String desc1;
protected String desc2;
public void breath() {
}
public void eat() {
}
}
и этот класс:
class Dog extends Animal() {
public void bark() {
}
}
Теперь мы создаем класс Object of the Dog:
Dog dog = new Dog ();
Итак, теперь мои вопросы: Классы загружаются в кучу.Таким образом, Dog и Animal находятся в куче. (РЕДАКТИРОВАТЬ: Это неправильно, классы не загружаются в кучу, смотрите ответы ниже.). Итак, допустим, мы делаем dog.bark()
.Как собака узнает, где находится метод коры в куче?Знает ли это, где класс собаки?Затем мы делаем dog.eat():
Итак, когда собака знает, где находится собака, знает ли собака, где находится животное, или собака знает, где находится животное?Я знаю, что у него есть адрес, который находится в куче.И как это, когда я перезаписать метод?Где это хранится?
спасибо за помощь.