本文實例講述了Java 繼承原理與用法。分享給大家供大家參考,具體如下:
繼承的概念
繼承是java面向對象編程技術的一塊基石,因為它允許創建分等級層次的類。
繼承就是子類繼承父類的特征和行為,使得子類對象(實例)具有父類的實例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。
類的繼承格式
在 Java 中通過 extends 關鍵字可以申明一個類是從另外一個類繼承而來的,一般形式如下:
class 父類 { } class 子類 extends 父類 { }
為什么需要繼承
接下來我們通過實例來說明這個需求。
開發動物類,其中動物分別為企鵝以及老鼠,要求如下:
企鵝:屬性(姓名,id),方法(吃,睡,自我介紹)
老鼠:屬性(姓名,id),方法(吃,睡,自我介紹)
企鵝類
public class Penguin { private String name; private int id; public Penguin(String myName, int myid) { name = myName; id = myid; } public void eat(){ System.out.println(name+"正在吃"); } public void sleep(){ System.out.println(name+"正在睡"); } public void introduction() { System.out.println("大家好!我是" + id + "號" + name + "."); } }
老鼠類:
public class Mouse { private String name; private int id; public Mouse(String myName, int myid) { name = myName; id = myid; } public void eat(){ System.out.println(name+"正在吃"); } public void sleep(){ System.out.println(name+"正在睡"); } public void introduction() { System.out.println("大家好!我是" + id + "號" + name + "."); } }
從這兩段代碼可以看出來,代碼存在重復了,導致后果就是代碼量大且臃腫,而且維護性不高(維護性主要是后期需要修改的時候,就需要修改很多的代碼,容易出錯),所以要從根本上解決這兩段代碼的問題,就需要繼承,將兩段代碼中相同的部分提取出來組成 一個父類:
公共父類:
public class Animal { private String name; private int id; public Animal(String myName, int myid) { name = myName; id = myid; } public void eat(){ System.out.println(name+"正在吃"); } public void sleep(){ System.out.println(name+"正在睡"); } public void introduction() { System.out.println("大家好!我是" + id + "號" + name + "."); } }
這個Animal類就可以作為一個父類,然后企鵝類和老鼠類繼承這個類之后,就具有父類當中的屬性和方法,子類就不會存在重復的代碼,維護性也提高,代碼也更加簡潔,提高代碼的復用性(復用性主要是可以多次使用,不用再多次寫同樣的代碼) 繼承之后的代碼:
企鵝類:
public class Penguin extends Animal { public Penguin(String myName, int myid) { super(myName, myid); } }
老鼠類:
public class Mouse extends Animal { public Mouse(String myName, int myid) { super(myName, myid); } }
希望本文所述對大家java程序設計有所幫助。