日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java中超詳細(xì)this與super的概念和用法

瀏覽:41日期:2022-08-17 11:59:53

前言:理論代碼必須結(jié)合起來才能真正的掌握

一、this

概念:this代表著當(dāng)前對(duì)象的引用,也是當(dāng)前函數(shù)所屬對(duì)象的引用。直白的說,哪個(gè)對(duì)象調(diào)用了當(dāng)前函數(shù),this就代表哪個(gè)對(duì)象。

常見的用法(理論不理解就先參考下面案例)

最常見的情況是是對(duì)象的一個(gè)屬性或被構(gòu)造器的參數(shù)屏蔽時(shí),如果需要調(diào)用屏蔽的屬性,this就代表哪個(gè)對(duì)象 this只能在方法內(nèi)使用,表示正在調(diào)用方法的那個(gè)對(duì)象,但是,如果在方法內(nèi)調(diào)用同一個(gè)類的另一個(gè)方法,就不必使用this,直接調(diào)用即可,this關(guān)鍵字是能省則省 this和static的關(guān)系: static方法是類方法,依附于類而不依賴與任何對(duì)象,static屬性是指該屬性是類中所有對(duì)象所共享的,static方法是類方法,先于任何實(shí)例(對(duì)象)存在,static在類加載時(shí)就已經(jīng)存在了,但對(duì)象是在創(chuàng)建時(shí)才生成;方法中使用this關(guān)鍵字它的值是當(dāng)前對(duì)象的引用,只能用它調(diào)用屬于當(dāng)前對(duì)象的屬性和方法和。但是,this可以調(diào)用static類型的屬性,舉個(gè)例子:一個(gè)父親是不可能向他還未出生的孩子借錢的,但孩子出生后完全可以找他父親去借錢; 對(duì)于一個(gè)類中的this,不一定單指這個(gè)的對(duì)象,也可能是這個(gè)類的子類的對(duì)象(抽象類里面的this只能是實(shí)際調(diào)用中它的派生類的實(shí)例化對(duì)象); 總之:如果new 父類對(duì)象的話,父類方法的this指向的是父類,如果new 子類,那么父類方法的this指向的是子類 this關(guān)鍵字也可以用于在構(gòu)造函數(shù)中調(diào)用其他構(gòu)造函數(shù)。但是,只能定義在構(gòu)造函數(shù)的第一行,因?yàn)槌跏蓟瘎?dòng)作要先執(zhí)行

this使用案例

class Student extends Person{ public Student(String name, int age, String nation) { super(name); }}public class Person{ private String name; private int age; private static String nation = 'chinese'; public Person(String name) { this.name = name; } public Person(String name, int age) { //初始化方法必須放到第一行 this(name); this.age = age; } //局部變量name和age屏蔽了name和age屬性,用this進(jìn)行標(biāo)識(shí) public Person(String name, int age,String nation) { this.name = name; this.age = age; //this可以調(diào)用到靜態(tài)屬性 this.nation = nation; } public void test(){ System.out.println('測(cè)試'); } public static void test2(){ //靜態(tài)方法內(nèi)不能出現(xiàn)this或super System.out.println('測(cè)試'); } public void print(){ //調(diào)用類內(nèi)部的方法(toString已重寫)加不加this都行 this.toString(); } @Override public String toString() { return 'Person{' + 'name=’' + name + ’’’ + ', age=' + age + ’}’; } public static void main(String[] args) { //這個(gè)this代表的student對(duì)象 Student student = new Student('wzh',20,'chinese2'); System.out.println(student.toString()); //這個(gè)this代表的是person對(duì)象 Person person = new Person('wzh2',20,'chinese3'); System.out.println(student.toString()); //擴(kuò)展,全局變量nation的值最后是chinese3 System.out.println(Person.nation); }}

結(jié)果:

Java中超詳細(xì)this與super的概念和用法

二、super

概念:super可以理解為“父類的”,super可以在子類中調(diào)用父類的屬性,方法,構(gòu)造器,super關(guān)鍵字和this一樣能省就省;

注意點(diǎn):1、this和super很像,this指向的是當(dāng)前對(duì)象的調(diào)用,super指向的是當(dāng)前調(diào)用對(duì)象的父類2、類加載完畢,創(chuàng)建對(duì)象,父類的構(gòu)造方法會(huì)被調(diào)用

父類如果重寫了無參構(gòu)造器或者父類中沒有有參構(gòu)造器,那么子類的構(gòu)造方法第一行就是super(),可以省略

class Student extends Person{ //這是默認(rèn)的構(gòu)造器內(nèi)容,寫出來是為了幫大家理解 public Student(){ super(); }}public class Person{ private String name; private int age;}

如果父類中定義了有參構(gòu)造器但沒有顯示寫出無參構(gòu)造器,那么必須通過super調(diào)用父類的有參構(gòu)造函數(shù),如果父類中定義了多個(gè)有參構(gòu)造區(qū),那么用super調(diào)用其中一個(gè)有參構(gòu)造器即可

class Student extends Person{ public Student(String name, int age) { //任選一個(gè)父類有參構(gòu)造 //super(name, age); super(name); }}public class Person{ private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public Person(String name) { this.name = name; }}

3、子類相應(yīng)構(gòu)造創(chuàng)建了一個(gè)子類對(duì)象,該子類對(duì)象還包含了一個(gè)父類對(duì)象。該父類對(duì)象在子類對(duì)象內(nèi)部(正如子類的構(gòu)造器無論如何都要通過super調(diào)用父類構(gòu)造器一樣,子類的對(duì)象被成功構(gòu)造,那么它的內(nèi)部就會(huì)包含父類的對(duì)象),證明如下

子類重寫父類的方法后可以通過super調(diào)用到父類的方法

class Student extends Person { private String name = 'wzh2'; @Override public String getName() { return '子類' + name; } public String getParentName(){ //調(diào)用父類的方法 return super.getName(); } public static void main(String[] args) { Student student = new Student(); System.out.println(student.getName()); System.out.println(student.getParentName()); }}public class Person{ //protected意味著子類和同一包中可以訪問 protected String name = 'wzh'; protected int age = 20; public String getName() { return '父類' +name; }}

輸出結(jié)果

Java中超詳細(xì)this與super的概念和用法

子類獲取到父類的變量

class Student extends Person{ public void parentDisplay(){ System.out.println(super.age + super.name); } public static void main(String[] args) { new Student().parentDisplay(); //輸出結(jié)果:20wzh }}public class Person{ //protected意味著子類和同一包中可以訪問 protected String name = 'wzh'; protected int age = 20;}

調(diào)用父類的構(gòu)造器不再舉例

4、this super只能在有對(duì)象的前提下使用,不能在靜態(tài)上下文使用5、如果一個(gè)類沒有基礎(chǔ)任何父類,super還有用嗎?肯定有用,可以調(diào)用Object中的方法

public class Person{ private String name; private int age; public void display(){ //通過this或super調(diào)用到了Object的toString(); System.out.println(super.toString()); } public static void main(String[] args) { new Person().display(); //輸出為Person@452b3a41 }}

到此這篇關(guān)于Java中超詳細(xì)this與super的概念和用法的文章就介紹到這了,更多相關(guān)javathis與super的概念和用法內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
影音先锋久久精品| 日韩欧美中文字幕电影| 日韩综合小视频| 亚洲伊人影院| 国产高清不卡| 欧美日韩精品一区二区视频| 日韩一区电影| 国产精品yjizz视频网| 日韩免费在线| 国产v综合v| zzzwww在线看片免费| 精品伊人久久| 日韩电影免费网站| 红杏一区二区三区| 国产精品高清一区二区| 国产精品成人一区二区网站软件| 午夜精品影视国产一区在线麻豆| 99热精品在线| 亚洲精品无吗| 国产美女精品| 午夜久久黄色| 国产精品美女久久久| 99热国内精品| 午夜精品一区二区三区国产| 国产精品呻吟| 美日韩精品视频| 久久成人一区| 国产精品天天看天天狠| 国产精品网站在线看| 免费亚洲一区| 亚洲成av人片一区二区密柚| 欧美福利专区| 免费精品视频最新在线| 日本不卡不码高清免费观看| 蜜臀精品一区二区三区在线观看| 亚洲精品观看| 欧美日韩一区二区三区四区在线观看| 欧美一区=区三区| 综合五月婷婷| 日韩精品成人| 久久字幕精品一区| 日韩精品91| 亚洲资源网站| 国产精品伊人| 国产精品白丝一区二区三区| 五月亚洲婷婷 | 久久精品av| 精品久久久亚洲| 日本美女一区| 91成人超碰| 丝袜美腿一区二区三区| 日本成人中文字幕| 国产精品久久久久久久久久久久久久久 | 免费久久精品视频| 91精品国产自产精品男人的天堂 | 亚洲黄色免费看| 日韩精品电影| 在线亚洲观看| 中文字幕成人| 四季av一区二区凹凸精品| 免费高潮视频95在线观看网站| 久久久久网站| 国产精品视频一区视频二区| 欧美丰满日韩| 日韩国产欧美一区二区| 亚洲精品视频一二三区| 美女在线视频一区| 久久精品系列| 天堂va蜜桃一区二区三区| 日韩极品在线观看| 四虎成人av| 日韩和欧美一区二区三区| 狂野欧美性猛交xxxx| 91精品一区二区三区综合| 欧美日韩一视频区二区| 欧洲一区二区三区精品| 亚洲欧美日韩专区| 亚洲深夜视频| 亚洲毛片一区| 精品在线网站观看| 中文字幕视频精品一区二区三区 | 精品视频免费| 在线综合亚洲| 久久这里只有精品一区二区| 欧美专区18| 麻豆91在线播放| 亚洲精品小说| 日韩中文在线电影| 欧美亚洲tv| 欧美99久久| 日韩免费在线| 国产伦精品一区二区三区视频| 久久国产欧美| 欧美一区免费| 99久久99视频只有精品| 日产欧产美韩系列久久99| 精品国产第一福利网站| 日韩精品一区二区三区中文| 国产亚洲精品v| 你懂的亚洲视频| 亚洲综合三区| 好看不卡的中文字幕| 国产成人久久精品麻豆二区| 蜜臀久久99精品久久久画质超高清| 久久理论电影| 精品少妇一区| 日韩1区2区日韩1区2区| 天堂成人国产精品一区| 六月婷婷综合| 国产黄色精品| 国产精品美女午夜爽爽| 蜜臀av国产精品久久久久| 日韩高清欧美| 日韩精品2区| 国产精品一区三区在线观看| 美国三级日本三级久久99| 99国产精品久久久久久久成人热| yellow在线观看网址| 久久午夜影视| 在线亚洲一区| 婷婷精品视频| 国产极品模特精品一二| 日本午夜精品一区二区三区电影| 免费观看久久av| 国产一区二区三区不卡视频网站| 日韩国产欧美一区二区三区| 首页国产欧美久久| 亚洲免费中文| 日韩在线a电影| 私拍精品福利视频在线一区| 久久精品五月| 另类专区亚洲| 精品国产一区二区三区av片| 亚洲精品女人| 国产探花在线精品一区二区| 亚洲人妖在线| 免费不卡在线视频| 深夜日韩欧美| 蜜臀久久久久久久| 精品亚洲美女网站| 久久天堂成人| 电影亚洲精品噜噜在线观看| 成人精品久久| 国产成人精品亚洲线观看| 日本不卡不码高清免费观看 | 久久中文字幕二区| 久久婷婷av| 欧美1区免费| 亚洲久久在线| 亚洲精品一区二区在线播放∴| 亚洲特色特黄| 日韩精品一级中文字幕精品视频免费观看 | 日韩高清三区| 热久久免费视频| 青青伊人久久| 国产精品一区二区三区美女| 国产精品白丝久久av网站| xxxxx性欧美特大| 99成人超碰| 久久不射中文字幕| 婷婷久久一区| 午夜国产精品视频免费体验区| 99在线|亚洲一区二区| 在线视频精品| 亚洲人成亚洲精品| 欧美伊人影院| 国产精品**亚洲精品| 夜鲁夜鲁夜鲁视频在线播放| 久久久影院免费| 香蕉久久久久久久av网站| 国产乱子精品一区二区在线观看 | 夜夜嗨av一区二区三区网站四季av| 免费观看在线色综合| 国产精品男女| 美女网站一区| 国产精品亚洲综合色区韩国| 国产成人精品福利| 久久www成人_看片免费不卡| 久久不卡国产精品一区二区| 欧美网站在线| 精品视频一二| 蜜桃久久久久久| 正在播放日韩精品| 伊人www22综合色| 精品网站999| 日av在线不卡| 久久男人天堂| 日本午夜免费一区二区 | 亚洲精品日本| 韩国久久久久久| 日韩一区二区三区免费视频| 伊人久久国产| 亚欧洲精品视频在线观看| 欧美aa在线观看| 国产欧美在线| 首页国产欧美久久| 成人小电影网站| 国产欧美日韩在线观看视频| 亚洲精品网址| 超碰在线99|