Java از وراثت به عنوان قابلیت اصلی خود پشتیبانی میکند و سپس از آن برای دستیابی به بسیاری از اصول برنامهنویسی شیءگرا مانند انتزاع استفاده میکند.
یک کلاس میتواند با استفاده از کلیدواژهی extends کلاس دیگری را گسترش دهد و با استفاده از کلیدواژهی implements از یک اینترفیس ارثبری کند.
اصلاحکنندههای دسترسی، قواعد دسترسی متغیرهای عضو و متدهای یک کلاس از سوی کلاسهای دیگر (یا هر جای دیگر کد) را تعیین میکنند.
چهار اصلاحکنندهی دسترسی وجود دارد:
privatepublicprotectedمیتوانید دربارهی آنها در این مقاله بیشتر بخوانید.
این دو مفهوم بسیار شبیه هم هستند و اغلب با یکدیگر اشتباه گرفته میشوند.
interface Animal() {
public void bark();
}
class Dog implements Animal {
public void bark() {
System.out.println("Bark");
}
}
در اینجا، Dog با Animal رابطهی «IS-A» دارد.
interface Engine {
}
class Car {
private Engine engine;
}
در اینجا، Car با Engine رابطهی «HAS-A» دارد.