導航:首頁 > 編程語言 > java繼承的語法

java繼承的語法

發布時間:2022-08-22 07:20:49

java實現繼承

js繼承有5種實現方式:
1、繼承第一種方式:對象冒充
function Parent(username){
this.username = username;
this.hello = function(){
alert(this.username);
}
}
function Child(username,password){
//通過以下3行實現將Parent的屬性和方法追加到Child中,從而實現繼承
//第一步:this.method是作為一個臨時的屬性,並且指向Parent所指向的對象,
//第二步:執行this.method方法,即執行Parent所指向的對象函數
//第三步:銷毀this.method屬性,即此時Child就已經擁有了Parent的所有屬性和方法
this.method = Parent;
this.method(username);//最關鍵的一行
delete this.method;

this.password = password;
this.world = function(){
alert(this.password);
}
}
var parent = new Parent("zhangsan");
var child = new Child("lisi","123456");
parent.hello();
child.hello();
child.world();

2、繼承第二種方式:call()方法方式
call方法是Function類中的方法
call方法的第一個參數的值賦值給類(即方法)中出現的this
call方法的第二個參數開始依次賦值給類(即方法)所接受的參數

function test(str){
alert(this.name + " " + str);
}
var object = new Object();
object.name = "zhangsan";
test.call(object,"langsin");//此時,第一個參數值object傳遞給了test類(即方法)中出現的this,而第二個參數"langsin"則賦值給了test類(即方法)的str

function Parent(username){
this.username = username;
this.hello = function(){
alert(this.username);
}
}
function Child(username,password){
Parent.call(this,username);

this.password = password;
this.world = function(){
alert(this.password);
}
}
var parent = new Parent("zhangsan");
var child = new Child("lisi","123456");
parent.hello();
child.hello();
child.world();

3、繼承的第三種方式:apply()方法方式
apply方法接受2個參數,
A、第一個參數與call方法的第一個參數一樣,即賦值給類(即方法)中出現的this
B、第二個參數為數組類型,這個數組中的每個元素依次賦值給類(即方法)所接受的參數

function Parent(username){
this.username = username;
this.hello = function(){
alert(this.username);
}
}
function Child(username,password){
Parent.apply(this,new Array(username));

this.password = password;
this.world = function(){
alert(this.password);
}
}
var parent = new Parent("zhangsan");
var child = new Child("lisi","123456");
parent.hello();
child.hello();
child.world();

4、繼承的第四種方式:原型鏈方式,即子類通過prototype將所有在父類中通過prototype追加的屬性和方法都追加到Child,從而實現了繼承
function Person(){
}
Person.prototype.hello = "hello";
Person.prototype.sayHello = function(){
alert(this.hello);
}

function Child(){
}
Child.prototype = new Person();//這行的作用是:將Parent中將所有通過prototype追加的屬性和方法都追加到Child,從而實現了繼承
Child.prototype.world = "world";
Child.prototype.sayWorld = function(){
alert(this.world);
}

var c = new Child();
c.sayHello();
c.sayWorld();

5、繼承的第五種方式:混合方式
混合了call方式、原型鏈方式

function Parent(hello){
this.hello = hello;
}
Parent.prototype.sayHello = function(){
alert(this.hello);
}

function Child(hello,world){
Parent.call(this,hello);//將父類的屬性繼承過來
this.world = world;//新增一些屬性
}

Child.prototype = new Parent();//將父類的方法繼承過來

Child.prototype.sayWorld = function(){//新增一些方法
alert(this.world);
}

var c = new Child("zhangsan","lisi");
c.sayHello();
c.sayWorld();

② java中的繼承怎麼寫方法呀

繼承用關鍵字extends 就可以了啊。如果是之類需要實現父類的方法,那就和父類的方法名、參數、返回類型都一樣,具體實現就看你的需求了; 如果是寫父類中沒有的方法,那就跟普通類的普通方法一樣的寫。呵呵,應該是這樣的。

③ java新手求解釋,希望高手能給我講一下繼承,主要就是寫繼承的步驟,父類,子類,都是什麼規則。

首先說為什麼用繼承
一般繼承的父類都是抽象的
抽象抽象抽取象的部分,一般繼承的子類都是實體化的東西
例如汽車,和寶馬X6,汽車是一個大的范圍是抽象的,寶馬x6是具體的
而父類有子類們共有的屬性和方法,子類不僅有父類的屬性和方法還有自己獨有的屬性和方法
一個子類繼承一個父類,一個父類可以有多個子類
子類用關鍵字extends來繼承父類(在子類的類名後聲明)
並且被繼承的父類的訪問許可權不能為private(私有),也不能用final修飾(終態)
子類繼承父類後,可以直接調用父類中除了private(私有)修飾的一切屬性和方法(除了構造方法)
子類可以重寫父類的方法
父類與子類的構造方法有一些規定(構造方法不能被重寫)
(1)當子類構造沒有顯示調用父類有參構造(用super),也沒有顯示調用自己的其他構造方法(用this),則隱士調用父類無參構造(這個時候父類就必須有無參構造方法,不然就報錯)
(2)子類的構造顯示調用父類有參構造,則不調用父類隱士構造
(3)子類構造顯示調用自己的其他構造,則符合以上兩條

④ JAVA繼承用法

你的問題有問題!"i為類a的一個成員變數" ,i 是A的什麼樣的成員變數?什麼樣的控制許可權?
"類b繼承a,",這個倒沒什麼什麼.
"在b中對i進行實例話(???????),並輸出i",成員變數可以實例化??如是i在A裡面是private 的B中可以進行你所謂的"實例話(??????????)"?其他技術上的就不說了
還有就是,你的標題是"JAVA繼承用法",那麼你的問題是什麼?你是在問問題,還是在陳述一個你認為的用法? 你的目的不明確.

有別字,不夠細心,思路不夠清晰.要學編程,還得努力!

⑤ java中繼承的語法格式是怎樣的

答案:在java語法中允許
(單繼承)
(構造方法)不能被繼承
(方法或欄位
)被繼承
,顯示調用弗雷德構造方法是通過調用
(super關鍵字)
所以選項是:b、a、c,d
、e

⑥ java中子類怎麼繼承父類,有快捷鍵么

通過extends進行繼承。
語法:<修飾符>class<子類名>extends<父類名>{.....}
舉例:

1
2
3
4

public class Parent{//定義父類
}
public class Son extends Parent{//通過extends,son類繼承了父類Parent
}

補充:
(1)繼承就是在現有類的基礎上構建親的類。
(2)當一個類繼承一個現有類後,可以對被繼承類中的屬性和方法進行重用。
(3)在Java中,一個類只能有一個父類,不支持多繼承。

⑦ java子類如何繼承父類怎麼寫啊

通過extends進行繼承。

語法:<修飾符>class<子類名>extends<父類名>{.....}

舉例:

publicclassParent{//定義父類
}
publicclassSonextendsParent{//通過extends,son類繼承了父類Parent
}

補充:

(1)繼承就是在現有類的基礎上構建親的類。

(2)當一個類繼承一個現有類後,可以對被繼承類中的屬性和方法進行重用。

(3)在Java中,一個類只能有一個父類,不支持多繼承。

⑧ java的繼承

繼承破壞了封裝性,換句話說,子類依賴於父類的實現細節。 需要進一步說明,這與方法調用不同,方法調用也依賴被調用的方法,但是並不依賴細節,也就是說,只要方法整體實現沒有問題,方法調用就沒有問題,但是繼承很容易改變父類實現的細節(所以父類中能寫成final盡量寫成final),即使父類整體沒有問題,也有可能因為子類細節實現不當,而破壞父類的約束。這使得繼承具有脆弱性。 或者說,繼承讓子類很容易破壞影響父類的約束,父類約束的實現依賴子類的實現,並且,父類在他的後續版本中可以獲得新的方法,而這個會對子類造成影響,雖然子類的代碼沒有變化,當初子類實現的時候也不知道未來的變化,顯得很無辜。 Here, overriding is the root of evil..... 繼承使得到的API限制在原始想重用的實現上,導致可變更性變差,限制了你的類的性能。 繼承使得有了更多機會來暴露了類內部的細節,比如Properties p的例子,p.getProperty(String key),p.get(String key)。 繼承很容易傳播現有API內部的缺陷

http://www.dewen.org/q/6210

⑨ java中的繼承定義。

繼承是面向對象最顯著的一個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數據屬性和行為,並能擴展新的能力。
Java繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。這種技術使得復用以前的代碼非常容易,能夠大大縮短開發周期,降低開發費用。比如可以先定義一個類叫車,車有以下屬性:車體大小,顏色,方向盤,輪胎,而又由車這個類派生出轎車和卡車兩個類,為轎車添加一個小後備箱,而為卡車添加一個大貨箱。
java繼承特徵:
(1)繼承關系是傳遞的。若類C繼承類B,類B繼承類A(多繼承),則類C既有從類B那裡繼承下來的屬性與方法,也有從類A那裡繼承下來的屬性與方法,還可以有自己新定義的屬性和方法。繼承來的屬性和方法盡管是隱式的,但仍是類C的屬性和方法。繼承是在一些比較一般的類的基礎上構造、建立和擴充新類的最有效的手段。
(2)繼承簡化了人們對事物的認識和描述,能清晰體現相關類間的層次結構關系。
(3)繼承提供了軟體復用功能。若類B繼承類A,那麼建立類B時只需要再描述與基類(類A)不同的少量特徵(數據成員和成員方法)即可。這種做法能減小代碼和數據的冗餘度,大大增加程序的重用性。
(4)繼承通過增強一致性來減少模塊間的介面和界面,大大增加了程序的易維護性。
(5)提供多重繼承機制。從理論上說,一個類可以是多個一般類的特殊類,它可以從多個一般類中繼承屬性與方法,這便是多重繼承。Java出於安全性和可靠性的考慮,僅支持單重繼承,而通過使用介面機制來實現多重繼承。

⑩ java中的繼承

當然有
fathera=newson是屬於父類引用指向了子類對象,java把這種把子類對象賦給父類引用變數稱之為向上轉型
區別:給你舉個例子
比如,father類有一個eat()方法,son類繼承了father類,也就擁有了eat()方法,並同時定義了自己的方法drink().如果是fathera=newson,則你只能調用屬於father的方法eat(),而不能調用son的方法drink().也就是說雖然變數a指向了對象son,但由於它編譯時的類型是father,所以它不能調用屬於son的方法,盡管變數a運行時的類型是son.
而sona=newson中的a則可以調用屬於它自己的方法drink().和它繼承的方法eat(),因為a這個引用變數編譯時的類型和運行時的類型都是son.
再說的大眾些,fathera=newson是以父親的角度看兒子,由於父子之間有繼承關系,你是創造了一個兒子對象並把它當父親用,所以你只能調用屬於父親的方法,而sona=newson就是你是創造了一個兒子對象並把它當兒子,所以你可以調用屬於兒子的方法和他所繼承父親的方法
以後你理解了多態以後,就好理解這個問題了

閱讀全文

與java繼承的語法相關的資料

熱點內容
pdf手寫筆 瀏覽:173
別永遠傷在童年pdf 瀏覽:984
愛上北斗星男友在哪個app上看 瀏覽:414
主力散戶派發源碼 瀏覽:665
linux如何修復伺服器時間 瀏覽:55
榮縣優途網約車app叫什麼 瀏覽:473
百姓網app截圖是什麼意思 瀏覽:222
php如何嵌入html 瀏覽:811
解壓專家怎麼傳輸 瀏覽:743
如何共享伺服器的網路連接 瀏覽:133
程序員簡易表白代碼 瀏覽:167
什麼是無線加密狗 瀏覽:64
國家反詐中心app為什麼會彈出 瀏覽:69
cad壓縮圖列印 瀏覽:103
網頁打開速度與伺服器有什麼關系 瀏覽:864
android開發技術文檔 瀏覽:65
32單片機寫程序 瀏覽:52
三星雙清無命令 瀏覽:839
漢壽小程序源碼 瀏覽:345
易助erp雲伺服器 瀏覽:533