Общий родитель Object в Java
Любой объявленный вами класс, если в заголовке нет
extends, всё равно считается потомком Object.
Компилятор добавляет эту связь сам. Значит, методы Object
доступны у каждого экземпляра - от пустого Post до
сложных иерархий с наследованием.
Если класс явно наследует другой тип, цепочка всё равно
в конечном счёте доходит до Object: родитель родителя
тоже когда-то унаследовал общий базовый класс.
Проверить, что переменная ссылается на объект типа Post,
можно через instanceof. Для любого ненулевого объекта
instanceof Object даёт true:
class Post {
}
Создадим объект Post и проверим, что он является Object:
Post post = new Post();
System.out.println(post instanceof Post);
System.out.println(post instanceof Object);
Имя фактического класса объекта возвращает метод getClass,
унаследованный от Object:
Post post = new Post();
System.out.println(post.getClass().getSimpleName());
Переменная типа Object может хранить ссылку на объект
любого класса - это следствие общего предка:
Object ref = new Post();
System.out.println(ref.getClass().getSimpleName());
Создайте объект Employee и выведите результат
employee instanceof Object.