解析,這裡為了方便看,我就把三個類放到了一起寫,我結合題目給大家做乙個圖形分析
這個題目是比較難的,注意看圖
從main方法裡面開始在棧空間裡面new了兩個變數a,b
a 是指向堆裡面的 new a() b指向堆裡面的new b()
注意,因為a是b的父類,子類在new 物件的時候會先new 乙個父類的物件,所以new b(),也有乙個newa () 初始的內容是「s」
執行a.sets("[aa]"); b.sets("[bb]");
該程式之後newa ()裡面變成了aa, newb()裡面變成了bb,但是newb ()中繼承的部分是沒有改變的
a = b;
這裡把b的記憶體位址給了a,此時a,b都指向newb();上面乙個空間直接被**了
system.out.print(a.s); //a a=new b();
這是乙個多型,傳進來的是b,對於屬性, 執行向左看,所以指向的是父類的s–a
system.out.print(b.s);
這裡就是顯示b的屬性 此時s=「bb」
system.out.print(a.gets());
這裡也是乙個多型,執行方法的時候是向右看的,執行b中的gets() 也是bb
system.out.print(b.gets());
最後是直接b呼叫b.gets(),輸出結果還是bb
所以結果是a bb bb bb
一段小程式 3
做個題目練練手,不然c語言都忘記了。設計一程式實現功能,處理字串a,處理規則是 只要b字串裡面有的字母,不分大小寫,一律從a字串中刪掉。1 請畫出此演算法的流程圖 2 請用c語言編寫對應的 include stdio.h include stdlib.h include string.h defin...
一段程式看懂位元幣原理
自從位元幣火起來以後,網上對位元幣的解釋可謂汗牛充棟,紛繁複雜。但對於程式設計師來說,最直接的方式莫過於直接看程式 了。嫌位元幣 龐雜沒關係,我找到一段簡明扼要的 用來理解位元幣再好不過了。以下這段程式 知乎上wu hao的回答。function mine function sendbtc amou...
react 簡單在頁面中輸出一段文字
之前用腳手架建立了乙個react專案,將react自帶的src資料夾刪除後建立乙個空的src資料夾 在src資料夾中建立乙個index.jsx檔案作為js入口檔案並建立乙個hello元件 現在我們進入到hello.jsx 1 import react from react 2 宣告元件 3class...