国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

面向?qū)ο缶幊蹋ㄟM(jìn)階)1:關(guān)鍵字:this

這篇具有很好參考價(jià)值的文章主要介紹了面向?qū)ο缶幊蹋ㄟM(jìn)階)1:關(guān)鍵字:this。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

1.1 this是什么?

1.2 什么時(shí)候使用this

1.2.1 實(shí)例方法或構(gòu)造器中使用當(dāng)前對(duì)象的成員

舉例1:

舉例2:

測(cè)試類(lèi):

1.2.2 同一個(gè)類(lèi)中構(gòu)造器互相調(diào)用

注意:

1.3 練習(xí)

**練習(xí)1:**

練習(xí)2:


1.1 this是什么?

  • 在Java中,this關(guān)鍵字不算難理解,它的作用和其詞義很接近。

    • 它在方法(準(zhǔn)確的說(shuō)是實(shí)例方法或非static的方法)內(nèi)部使用,表示調(diào)用該方法的對(duì)象
    • 它在構(gòu)造器內(nèi)部使用,表示該構(gòu)造器正在初始化的對(duì)象。
  • this可以調(diào)用的結(jié)構(gòu):成員變量、方法和構(gòu)造器

1.2 什么時(shí)候使用this

1.2.1 實(shí)例方法或構(gòu)造器中使用當(dāng)前對(duì)象的成員

在實(shí)例方法或構(gòu)造器中,如果使用當(dāng)前類(lèi)的成員變量或成員方法可以在其前面添加this,增強(qiáng)程序的可讀性。不過(guò),通常我們都習(xí)慣省略this。

但是,當(dāng)形參與成員變量同名時(shí),如果在方法內(nèi)或構(gòu)造器內(nèi)需要使用成員變量,必須添加this來(lái)表明該變量是類(lèi)的成員變量。即:我們可以用this來(lái)區(qū)分成員變量局部變量。比如:

面向?qū)ο缶幊蹋ㄟM(jìn)階)1:關(guān)鍵字:this

另外,使用this訪(fǎng)問(wèn)屬性和方法時(shí),如果在本類(lèi)中未找到,會(huì)從父類(lèi)中查找。這個(gè)在繼承中會(huì)講到。

舉例1:

class Person{		// 定義Person類(lèi)
	private String name ;	
	private int age ;			
	public Person(String name,int age){	
		this.name = name ;   
		this.age = age ;  
    }
    public void setName(String name){
        this.name = name;
    }
    public void setAge(int age){
        this.age = age;
    }
	public void getInfo(){	
		System.out.println("姓名:" + name) ;
		this.speak();
	}
	public void speak(){
		System.out.println(“年齡:” + this.age);	
	}
}

舉例2:

public class Rectangle {
    int length;
    int width;

    public int area() {
        return this.length * this.width;
    }

    public int perimeter(){
        return 2 * (this.length + this.width);
    }

    public void print(char sign) {
        for (int i = 1; i <= this.width; i++) {
            for (int j = 1; j <= this.length; j++) {
                System.out.print(sign);
            }
            System.out.println();
        }
    }

    public String getInfo(){
        return "長(zhǎng):" + this.length + ",寬:" + this.width +",面積:" + this.area() +",周長(zhǎng):" + this.perimeter();
    }
}

測(cè)試類(lèi):

public class TestRectangle {
    public static void main(String[] args) {
        Rectangle r1 = new Rectangle();
        Rectangle r2 = new Rectangle();

        System.out.println("r1對(duì)象:" + r1.getInfo());
        System.out.println("r2對(duì)象:" + r2.getInfo());

        r1.length = 10;
        r1.width = 2;
        System.out.println("r1對(duì)象:" + r1.getInfo());
        System.out.println("r2對(duì)象:" + r2.getInfo());

        r1.print('#');
        System.out.println("---------------------");
        r1.print('&');

        System.out.println("---------------------");
        r2.print('#');
        System.out.println("---------------------");
        r2.print('%');
    }
}

1.2.2 同一個(gè)類(lèi)中構(gòu)造器互相調(diào)用

this可以作為一個(gè)類(lèi)中構(gòu)造器相互調(diào)用的特殊格式。

  • this():調(diào)用本類(lèi)的無(wú)參構(gòu)造器
  • this(實(shí)參列表):調(diào)用本類(lèi)的有參構(gòu)造器
public class Student {
    private String name;
    private int age;

    // 無(wú)參構(gòu)造
    public Student() {
//        this("",18);//調(diào)用本類(lèi)有參構(gòu)造器
    }

    // 有參構(gòu)造
    public Student(String name) {
        this();//調(diào)用本類(lèi)無(wú)參構(gòu)造器
        this.name = name;
    }
    // 有參構(gòu)造
    public Student(String name,int age){
        this(name);//調(diào)用本類(lèi)中有一個(gè)String參數(shù)的構(gòu)造器
        this.age = age;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

    public String getInfo(){
        return "姓名:" + name +",年齡:" + age;
    }
}

注意:

  • 不能出現(xiàn)遞歸調(diào)用。比如,調(diào)用自身構(gòu)造器。
    • 推論:如果一個(gè)類(lèi)中聲明了n個(gè)構(gòu)造器,則最多有 n - 1個(gè)構(gòu)造器中使用了"this(形參列表)"
  • this()和this(實(shí)參列表)只能聲明在構(gòu)造器首行。
    • 推論:在類(lèi)的一個(gè)構(gòu)造器中,最多只能聲明一個(gè)"this(參數(shù)列表)"

1.3 練習(xí)

**練習(xí)1:**

添加必要的構(gòu)造器,綜合應(yīng)用構(gòu)造器的重載,this關(guān)鍵字。

面向?qū)ο缶幊蹋ㄟM(jìn)階)1:關(guān)鍵字:this

練習(xí)2:

(1)按照如下的UML類(lèi)圖,創(chuàng)建相應(yīng)的類(lèi),提供必要的結(jié)構(gòu):

面向?qū)ο缶幊蹋ㄟM(jìn)階)1:關(guān)鍵字:this

在提款方法withdraw()中,需要判斷用戶(hù)余額是否能夠滿(mǎn)足提款數(shù)額的要求,如果不能,應(yīng)給出提示。deposit()方法表示存款。

(2)按照如下的UML類(lèi)圖,創(chuàng)建相應(yīng)的類(lèi),提供必要的結(jié)構(gòu)

面向?qū)ο缶幊蹋ㄟM(jìn)階)1:關(guān)鍵字:this

(3)按照如下的UML類(lèi)圖,創(chuàng)建相應(yīng)的類(lèi),提供必要的結(jié)構(gòu)

面向?qū)ο缶幊蹋ㄟM(jìn)階)1:關(guān)鍵字:this

  • addCustomer 方法必須依照參數(shù)(姓,名)構(gòu)造一個(gè)新的 Customer對(duì)象,然后把它放到 customer 數(shù)組中。還必須把 numberOfCustomer 屬性的值加 1。

  • getNumOfCustomers 方法返回 numberofCustomers 屬性值。

  • getCustomer方法返回與給出的index參數(shù)相關(guān)的客戶(hù)。

(4)創(chuàng)建BankTest類(lèi),進(jìn)行測(cè)試。

內(nèi)存解析圖:

面向?qū)ο缶幊蹋ㄟM(jìn)階)1:關(guān)鍵字:this文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-411924.html

到了這里,關(guān)于面向?qū)ο缶幊蹋ㄟM(jìn)階)1:關(guān)鍵字:this的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【java面向?qū)ο笾衧tatic關(guān)鍵字】

    【java面向?qū)ο笾衧tatic關(guān)鍵字】

    static修飾成員變量 static修飾成員變量的應(yīng)用場(chǎng)景 static修飾成員方法 static修飾成員方法的應(yīng)用場(chǎng)景 static的注意事項(xiàng) static的應(yīng)用知識(shí):代碼塊 static的應(yīng)用知識(shí):?jiǎn)卫O(shè)計(jì)模式 static靜態(tài)的意思,可以修飾成員變量,成員方法; static修飾成員變量: 1.有static修飾的成員變量叫做

    2024年02月13日
    瀏覽(24)
  • Java編程練習(xí)之this關(guān)鍵字

    Java編程練習(xí)之this關(guān)鍵字

    當(dāng)類(lèi)中的成員變量與成員方法中的參數(shù)重名時(shí),會(huì)導(dǎo)致方法無(wú)法直接使用成員變量。 示例:創(chuàng)建demo類(lèi),定義一個(gè)成員變量name并賦初值,再定義一個(gè)成員方法showName(String name),輸出方法中name的值。代碼如下: package zhtestdemo; public class demo { ?//創(chuàng)建類(lèi),類(lèi)名叫demo /**/ ?? ?Str

    2024年01月22日
    瀏覽(24)
  • java面向?qū)ο蟆^承以及super關(guān)鍵字

    java面向?qū)ο蟆^承以及super關(guān)鍵字

    在 同?類(lèi) 中,存在?法名相同,參數(shù)列表不同(個(gè)數(shù)、類(lèi)型或順序不同)的?法互為重載。 在 繼承關(guān)系 中,?類(lèi)聲明?個(gè)繼承??類(lèi)的?法名相同、參數(shù)列表相同,返回值類(lèi)型?致,訪(fǎng)問(wèn)修飾符相同或 變?,拋出異常相同或縮?的?法稱(chēng)為重寫(xiě)。 重載是編譯時(shí)多態(tài),重寫(xiě)

    2024年02月12日
    瀏覽(16)
  • 面向?qū)ο螅ò耍?- static 與 final 關(guān)鍵字 的使用

    目錄 1.??static 1.1??static 的概述 1.2??static 修飾的特點(diǎn) 1.3??static 使用時(shí)的注意事項(xiàng):

    2023年04月25日
    瀏覽(92)
  • 【C++干貨基地】面向?qū)ο蠛诵母拍?const成員函數(shù) | 初始化列表 | explicit關(guān)鍵字 | 取地址重載

    【C++干貨基地】面向?qū)ο蠛诵母拍?const成員函數(shù) | 初始化列表 | explicit關(guān)鍵字 | 取地址重載

    ?? 鴿芷咕 :個(gè)人主頁(yè) ??? 個(gè)人專(zhuān)欄 : 《C++干貨基地》《粉絲福利》 ??生活的理想,就是為了理想的生活! ??哈嘍各位鐵汁們好啊,我是博主鴿芷咕《C++干貨基地》是由我的襄陽(yáng)家鄉(xiāng)零食基地有感而發(fā),不知道各位的城市有沒(méi)有這種實(shí)惠又全面的零食基地呢?C++ 本身作

    2024年04月23日
    瀏覽(21)
  • 【Java基礎(chǔ)教程】(十四)面向?qū)ο笃?· 第八講:多態(tài)性詳解——向上及向下轉(zhuǎn)型、關(guān)鍵字 final與 instanceof的作用~

    【Java基礎(chǔ)教程】(十四)面向?qū)ο笃?· 第八講:多態(tài)性詳解——向上及向下轉(zhuǎn)型、關(guān)鍵字 final與 instanceof的作用~

    掌握f(shuō)inal 的主要作用及使用; 掌握對(duì)象多態(tài)性的概念以及對(duì)象轉(zhuǎn)型的操作; 掌握instanceof 的主要作用及使用; 在Java 中 final稱(chēng)為終結(jié)器,在Java 里面可以使用 final定義類(lèi)、方法和屬性,用于表示不可變性 。 final 類(lèi):當(dāng)一個(gè)類(lèi)被聲明為 final 時(shí),意味著該類(lèi)不能被

    2024年02月16日
    瀏覽(114)
  • class_10:this關(guān)鍵字

    class_10:this關(guān)鍵字

    this是指向調(diào)用對(duì)象的指針? ? 鏈?zhǔn)秸{(diào)用 ? 在這個(gè)例子中,Car類(lèi)的構(gòu)造函數(shù)使用this指針來(lái)區(qū)分成員變量好人構(gòu)造函數(shù)參數(shù)。同意,setYear成員函數(shù)使用this指針來(lái)返回該函數(shù)的對(duì)象的引用,這允許鏈?zhǔn)秸{(diào)用,如

    2024年01月20日
    瀏覽(25)
  • C# this關(guān)鍵字的作用

    在C#中, this 有以下幾種主要作用: 引用當(dāng)前對(duì)象: this ?用于引用當(dāng)前類(lèi)的實(shí)例。可以通過(guò)? this ?來(lái)訪(fǎng)問(wèn)當(dāng)前對(duì)象的成員變量、方法和屬性。 區(qū)分字段與局部變量:當(dāng)成員變量和局部變量同名時(shí),可以使用? this ?來(lái)區(qū)分。 在構(gòu)造函數(shù)中調(diào)用其他構(gòu)造函

    2024年02月22日
    瀏覽(35)
  • 【JS】JavaScript中的this關(guān)鍵字

    目錄 this是什么? this的指向 ①全局環(huán)境 ②構(gòu)造函數(shù) ③對(duì)象的方法 this的四類(lèi)調(diào)用方式 ①作為對(duì)象方法調(diào)用 ②純粹的函數(shù)調(diào)用 ③作為構(gòu)造函數(shù)調(diào)用 ④使用apply、call、bind調(diào)用 舉例說(shuō)明 JavaScript? this ?指的是它所屬的對(duì)象。 它擁有不同的值,具體取決于它的使用位置:

    2024年02月14日
    瀏覽(25)
  • this關(guān)鍵字的四種用法

    表示對(duì)象自己的屬性使用this調(diào)用成員變量,解決變量與局部變量之間的沖突問(wèn)題 代碼如下(示例): 代碼如下(示例): 控制臺(tái)運(yùn)行結(jié)果: 分析:為什么會(huì)出現(xiàn)這種情況呢?當(dāng)我們調(diào)用構(gòu)造方法所傳遞的三個(gè)參數(shù)值“張三”、20和178.5最終并沒(méi)有賦值到對(duì)象的三個(gè)屬性中。

    2023年04月22日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包