Создаём объект Human - человека: Human hum = new Human(23,"Петя"); Где передали параметры 23 (возраст) и "Петя" (имя) в конструктор. Эти параметры сохранены в объекте hum в его полях. Теперь вызываем для данного объекта функцию, которая имеет доступ к полям объекта. int age = hum.getAge(); функция getAge, вызванная у объекта hum типа Human, вернула его возраст. Вызываем другой метод: hum.kill(); Теперь создаем наследника классу Human, назовём его Child. Child является Human, но может переопределить методы класса Human и добавить новые, таким образом расширить класс и изменить. Human hum2 = new Child(5,"Вася",hum); тут у конструктора есть дополнительный параметр, где задаётся родитель ребёнка. Теперь вызываем hum2.kill(); этот метод мог быть переопределен. Интерфейсы: Есть интерфейсы comparable, cloneable, runnable и др. Интерфейс принуждает класс иметь в наличии опр. функционал (методы и т. д). comparable - объекты класса можно сравнивать (метод compare - больше, меньше или равен). Заранее написанный алгоритм сортировки может требовать от объектов класса быть сравнимыми между собой (comparable). Cloneable - объект можно скопировать методом clone. И т. д. и