日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java编程里的values怎么使用,详解Java编程中super关键字的用法

發布時間:2025/3/21 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java编程里的values怎么使用,详解Java编程中super关键字的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要介紹了Java編程中this與super關鍵字的用法,包括從內存結構方面分析super的作用域,需要的朋友可以參考下

通過用static來定義方法或成員,為我們編程提供了某種便利,從某種程度上可以說它類似于C語言中的全局函數和全局變量。但是,并不是說有了這種便利,你便可以隨處使用,如果那樣的話,你便需要認真考慮一下自己是否在用面向對象的思想編程,自己的程序是否是面向對象的。 好了,現在開始討論this&super這兩個關鍵字的意義和用法。在Java中,this通常指當前對象,super則指父類的。當你想要引用當前對象的某種東西,比如當前對象的某個方法,或當前對象的某個成員,你便可以利用this來實現這個目的,當然,this的另一個用途是調用當前對象的另一個構造函數,這些馬上就要討論。如果你想引用父類的某種東西,則非super莫屬由于this與super有如此相似的一些特性和與生俱來的某種關系,所以我們在這一塊兒來討論,

希望能幫助你區分和掌握它們兩個。在一般方法中最普遍的情況就是,在你的方法中的某個形參名與當前對象的某個成員有相同的名字,這時為了不至于混淆,你便需要明確使用this關鍵字來指明你要使用某個成員,

使用方法是“this.成員名”,而不帶this的那個便是形參。另外,還可以用“this.方法名”來引用當前對象的某個方法,但這時this就不是必須的了,你可以直接用方法名來訪問那個方法。

在JAVA類中使用super來引用父類的成分,用this來引用當前對象,如果一個類從另外一個類繼承,我們new這個子類的實例對象的時候,這個子類對象里面會有一個父類對象。怎么去引用里面的父類對象呢?使用super來引用,this指的是當前對象的引用,super是當前對象里面的父對象的引用。

super關鍵字測試

package cn.galc.test;

/**

* 父類

* @author gacl

*

*/

class FatherClass {

public int value;

public void f() {

value=100;

System.out.println("父類的value屬性值="+value);

}

}

/**

* 子類ChildClass從父類FatherClass繼承

* @author gacl

*

*/

class ChildClass extends FatherClass {

/**

* 子類除了繼承父類所具有的valu屬性外,自己又另外聲明了一個value屬性,

* 也就是說,此時的子類擁有兩個value屬性。

*/

public int value;

/**

* 在子類ChildClass里面重寫了從父類繼承下來的f()方法里面的實現,即重寫了f()方法的方法體。

*/

public void f() {

super.f();//使用super作為父類對象的引用對象來調用父類對象里面的f()方法

value=200;//這個value是子類自己定義的那個valu,不是從父類繼承下來的那個value

System.out.println("子類的value屬性值="+value);

System.out.println(value);//打印出來的是子類自定義的那個value的值,這個值是200

/**

* 打印出來的是父類里面的value值,由于子類在重寫從父類繼承下來的f()方法時,

* 第一句話“super.f();”是讓父類對象的引用對象調用父類對象的f()方法,

* 即相當于是這個父類對象自己調用f()方法去改變自己的value屬性的值,由0變了100。

* 所以這里打印出來的value值是100。

*/

System.out.println(super.value);

}

}

/**

* 測試類

* @author gacl

*

*/

public class TestInherit {

public static void main(String[] args) {

ChildClass cc = new ChildClass();

cc.f();

}

}

運行結果:

畫內存分析圖了解程序執行的整個過程

分析任何程序都是從main方法的第一句開始分析的,所以首先分析main方法里面的第一句話:

ChlidClass cc = new ChlidClass();

程序執行到這里時,首先在棧空間里面會產生一個變量cc,cc里面的值是什么這不好說,總而言之,通過這個值我們可以找到new出來的ChlidClass對象。由于子類ChlidClass是從父類FatherClass繼承下來的,所以當我們new一個子類對象的時候,這個子類對象里面會包含有一個父類對象,而這個父類對象擁有他自身的屬性value。這個value成員變量在FatherClass類里面聲明的時候并沒有對他進行初始化,所以系統默認給它初始化為0,成員變量(在類里面聲明)在聲明時可以不給它初始化,編譯器會自動給這個成員變量初始化,但局部變量(在方法里面聲明)在聲明時一定要給它初始化,因為編譯器不會自動給局部變量初始化,任何變量在使用之前必須對它進行初始化。

子類在繼承父類value屬性的同時,自己也單獨定義了一個value屬性,所以當我們new出一個子類對象的時候,這個對象會有兩個value屬性,一個是從父類繼承下來的value,另一個是自己的value。在子類里定義的成員變量value在聲明時也沒有給它初始化,所以編譯器默認給它初始化為0。因此,執行完第一句話以后,系統內存的布局如下圖所示:

接下來執行第二句話:

1 cc.f();

當new一個對象出來的時候,這個對象會產生一個this的引用,這個this引用指向對象自身。如果new出來的對象是一個子類對象的話,那么這個子類對象里面還會有一個super引用,這個super指向當前對象里面的父對象。所以相當于程序里面有一個this,this指向對象自己,還有一個super,super指向當前對象里面的父對象。

這里調用重寫之后的f()方法,方法體內的第一句話:“super.f();”是讓這個子類對象里面的父對象自己調用自己的f()方法去改變自己value屬性的值,父對象通過指向他的引用super來調用自己的f()方法,所以執行完這一句以后,父對象里面的value的值變成了100。接著執行“value=200;”這里的vaule是子類對象自己聲明的value,不是從父類繼承下來的那個value。所以這句話執行完畢后,子類對象自己本身的value值變成了200。此時的內存布局如下圖所示:

方法體內的最后三句話都是執行打印value值的命令,前兩句打印出來的是子類對象自己的那個value值,因此打印出來的結果為200,最后一句話打印的是這個子類對象里面的父類對象自己的value值,打印出來的結果為100。

到此,整個內存分析就結束了,最終內存顯示的結果如上面所示。

總結

以上是生活随笔為你收集整理的java编程里的values怎么使用,详解Java编程中super关键字的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久精品在线观看 | 欧美wwwwww | 亚洲黄色免费电影 | 高潮无码精品色欲av午夜福利 | 国产亚洲精品精品精品 | 亚洲精品国产成人无码 | 91色影院 | 中文在线8资源库 | 日韩在线播放中文字幕 | 全部孕妇毛片 | 神马久久香蕉 | 天天色综合av | 成人免费毛片果冻 | 女性女同性aⅴ免费观女性恋 | 亚洲国产区 | 日韩色影院 | 久久综合久久88 | 亚洲天堂av女优 | 久久精品噜噜噜成人88aⅴ | 永久精品网站 | 亚洲乱码一区二区 | 精人妻无码一区二区三区 | 日本黄a | 91精品国产一区二区三区蜜臀 | 女性生殖扒开酷刑vk | 国产精品久久久久久福利 | 国产精品一区在线免费观看 | 一级久久久久久 | 日本成人在线网站 | 风间由美一区二区 | 成人免费av | 女人喂男人奶水做爰视频 | 亚洲一| 国产成人无码一区二区在线播放 | 欧美一级淫片免费视频黄 | 添女人荫蒂视频 | 国产日韩欧美不卡 | 国产精品久久色 | 熟妇人妻va精品中文字幕 | 一区二区三区四区在线视频 | 国产伦精品一区二区三 | 在线亚洲欧美 | 国产免费视频一区二区三区 | 国产精品久久久免费视频 | 毛片官网 | 巨乳动漫美女 | 亚洲综合在线五月 | 久久a毛片 | 欧美激情视频在线 | 粉嫩av网 | 国产精品久久久久毛片软件 | 国产精品久久999 | 狠狠久久| 亚洲精品乱码久久久久久蜜桃不卡 | 综合精品在线 | 亚洲欧美中文日韩在线 | 免费网站在线观看人数在哪动漫 | 日韩少妇内射免费播放 | 国产精品毛片一区二区在线看 | 中文在线第一页 | 一级片在线观看视频 | 天天av网| 在线黄色av| 亚洲国产精品成人综合色在线婷婷 | 欧美久久久 | 天天操天天干天天爽 | 99re99| 国产精品久久久久久av | 精品国产鲁一鲁一区二区三区 | 经典杯子蛋糕日剧在线观看免费 | 可以在线观看av的网站 | 岳睡了我中文字幕日本 | 黄色一级大片免费版 | 国产成人免费在线 | 蜜臀av性久久久久蜜臀aⅴ | 91国产在线播放 | 日本美女毛茸茸 | 国产精品亚洲一区二区三区在线观看 | 黄色aaa毛片 | 日本熟女毛茸茸 | 岛国视频一区 | 天天操夜夜操 | 日韩一区免费 | 欧美成人免费在线观看 | 一区二区高清视频 | a天堂在线视频 | 精品区一区二区 | 亚洲AV成人无码久久精品巨臀 | 国产精品免费久久 | 一区二区三区视频 | 中日韩在线视频 | 亲子伦视频一区二区三区 | 捅肌肌| 美女又爽又黄视频毛茸茸 | 国产一级免费观看 | 涩涩视频在线播放 | 亚洲欧美色图在线 | 国产精品久久久久久久专区 | 国产色啪 |