Java da Kalıtım:
Nesne Yönelimli Programlama dillerinde kalıtım olgusu, bir sınıfta (class) tanımlanmış değişkenlerin ve/veya metotların (fonksiyon, procedure) yeniden tanımlanmasına gerek olmaksızın yeni bir sınıfa taşınabilmesidir. Bunun için yapılan iş, bir sınıftan bir alt-sınıf (subclass) türetmektir. Türetilen alt-sınıf, üst-sınıfta tanımlı olan bütün değişkenlere ve metotlara sahip olur. Bu özeliğe kalıtım özeliği (inheritance) diyoruz.
class Animal{ public void seslen() {System.out.println("Hayvannn");} } class Dogs extends Animal { @Override public void seslen() { System.out.println("Hav havv"); } } class Cats extends Animal { @Override public void seslen() { System.out.println("Miyav miyavvv"); } } public class OverrideOrnek { public static void main(String[] args) { Cats kedi = new Cats(); // Burada Cats sınıfına yazdığımız 'miyav' çalışır, animal sınıfından kalıttık ve override ile üzerine ezme yaptık. Dogs kop= new Dogs();// Dogs sınıfına yazdığımız çalışır. Animal hay = new Animal();//Animal sınıfında yazdığımız çalışır. Animal kopek= new Dogs();// Obje Dogs sınıfında tanımlandığından 'Hav Havv' yazdırır. kedi.seslen(); kop.seslen(); hay.seslen(); kopek.seslen(); } /*Static metodlar ve değişkenler override edilemezler. * public > protected > default >private * Private sınırlı erişim old. override edilemezler. */ }