- 相關(guān)推薦
java繼承是什么
java繼承是使用已存在的類的定義作為基礎(chǔ)建立新類的技術(shù),新類的定義可以增加新的數(shù)據(jù)或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。這種技術(shù)使得復(fù)用以前的代碼非常容易,能夠大大縮短開(kāi)發(fā)周期,降低開(kāi)發(fā)費(fèi)用。今天,小編為大家搜索整理了java繼承是什么,希望大家能有所收獲,更多精彩內(nèi)容請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因?yàn)樗试S創(chuàng)建分等級(jí)層次的類。繼承可以理解為一個(gè)對(duì)象從另一個(gè)對(duì)象獲取屬性的過(guò)程。
如果類A是類B的父類,而類B是類C的父類,我們也稱C是A的子類,類C是從類A繼承而來(lái)的。在Java中,類的繼承是單一繼承,也就是說(shuō),一個(gè)子類只能擁有一個(gè)父類
繼承中最常使用的兩個(gè)關(guān)鍵字是extends和implements。
這兩個(gè)關(guān)鍵字的使用決定了一個(gè)對(duì)象和另一個(gè)對(duì)象是否是IS-A(是一個(gè))關(guān)系。
通過(guò)使用這兩個(gè)關(guān)鍵字,我們能實(shí)現(xiàn)一個(gè)對(duì)象獲取另一個(gè)對(duì)象的屬性。
所有Java的類均是由java.lang.Object類繼承而來(lái)的,所以O(shè)bject是所有類的祖先類,而除了Object外,所有類必須有一個(gè)父類。
通過(guò)過(guò)extends關(guān)鍵字可以申明一個(gè)類是繼承另外一個(gè)類而來(lái)的,一般形式如下:
// A.javapublic class A { private int i; protected int j; public void func() { }} // B.javapublic class B extends A {}
以上的代碼片段說(shuō)明,B由A繼承而來(lái)的,B是A的子類。而A是Object的子類,這里可以不顯示地聲明。
作為子類,B的實(shí)例擁有A所有的成員變量,但對(duì)于private的成員變量B卻沒(méi)有訪問(wèn)權(quán)限,這保障了A的封裝性。
【相關(guān)閱讀】
java泛型類講解
泛型,即“參數(shù)化類型”。一提到參數(shù),最熟悉的就是定義方法時(shí)有形參,然后調(diào)用此方法時(shí)傳遞實(shí)參。那么參數(shù)化類型怎么理解呢?顧名思義,就是將類型由原來(lái)的具體的類型參數(shù)化,類似于方法中的變量參數(shù),此時(shí)類型也定義成參數(shù)形式(可以稱之為類型形參),然后在使用/調(diào)用時(shí)傳入具體的類型(類型實(shí)參)。
泛型類的聲明和非泛型類的聲明類似,除了在類名后面添加了類型參數(shù)聲明部分。
和泛型方法一樣,泛型類的類型參數(shù)聲明部分也包含一個(gè)或多個(gè)類型參數(shù),參數(shù)間用逗號(hào)隔開(kāi)。一個(gè)泛型參數(shù),也被稱為一個(gè)類型變量,是用于指定一個(gè)泛型類型名稱的`標(biāo)識(shí)符。因?yàn)樗麄兘邮芤粋(gè)或多個(gè)參數(shù),這些類被稱為參數(shù)化的類或參數(shù)化的類型。
實(shí)例
如下實(shí)例演示了我們?nèi)绾味x一個(gè)泛型類:
public class Box{ private T t; public void add(T t) { this.t = t; } public T get() { return t; } public static void main(String[] args) { BoxintegerBox = new Box(); BoxstringBox = new Box(); integerBox.add(new Integer(10)); stringBox.add(new String("Hello World")); System.out.printf("Integer Value :%d\n\n", integerBox.get()); System.out.printf("String Value :%s\n", stringBox.get()); }}
編譯以上代碼,運(yùn)行結(jié)果如下所示:
Integer Value :10 String Value :Hello World
【java繼承是什么】相關(guān)文章:
java的繼承與組合的區(qū)別07-19
java繼承抽象類07-28
Java是什么07-03
java語(yǔ)言優(yōu)點(diǎn)是什么07-14
java類文件是什么10-31
java數(shù)組賦值是什么10-20
Java語(yǔ)言Class文件是什么09-02
java位操作符是什么07-18