91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在java中使用this關鍵字

發布時間:2020-06-29 17:20:54 來源:億速云 閱讀:237 作者:元一 欄目:編程語言

本篇文章為大家展示了如何在java中使用this關鍵字,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

簡介

每一個行為發生的時候,肯定會有一個發生這個行為的主體。在編程語言里面每一個定義的方法里,都會有一個this關鍵字,這個this關鍵不是由在那兒定義來決定的,而是由誰來執行的決定的。這是判斷this關鍵。比如說吃飯這個方法它是由上帝來定義的,世界上所有的人來執行。吃飯這個行為發生的時候,主體就是在吃飯的這個人,也就是要有人執行吃飯這個行為。 有時候我們需要在一個行為(方法)里,能明確知道這個行為是誰來執行的,確切的說就是我要知道誰在吃飯。在編程語言里面每一個定義的方法里,都會有一個this關鍵字,這個this關鍵不是由在那兒定義來決定的,而是由誰來執行的決定的。這是判斷this關鍵。

1、this表示當前方法

class Book{
    public void fun(){
        System.out.printIn("FUN方法"+this);
    }
    }
}
public class ThisDemo{
    public static void main(String args[]){
        Book b1 = new Book();
        System.out.printIn("MAIN方法"+b1);
        b1.fun();//有b1調用fun方法(this = b1)
        //兩個輸出結果的地址一樣,代表著此時this代表著b1
        System.out.printIn("*************")
        Book b2 = new Book();
        System.out.printIn("MAIN方法"+b2);
        b2.fun();//此時輸出結果和b2一樣
    }
}

2、this調用當前屬性:其主要作用是當需要給類中的數據進行初始化時,可以通過this來進行賦值,而不用隨便定義一個變量來進行賦值,更有利于代碼的閱讀與理解

class Book{//定義書的類
    private String name;//書本名字
    private int price;//書本價格
    public Book(String name,int price){ //使用this對類的數據進行初始化
        this.name = name;        
        this.price = price;
    }
    /*public Book(String n,int p){ //若不使用this關鍵字只能這樣進行賦值,不利于將變量與屬性統一起來
        name = n;
        price = p;
    }*/
    public String getInfo(){
        return "書籍:" + name + ",價格:" + price;
    }
}
public class ThisDemo{
    public static void main(String args[]){
        System.out.printIn(new Book("Java",89.9).getInfo())
    }
}

3、this調用方法(普通方法、構造方法)

(1)普通方法:

class Book{//定義書的類
    private String name;//書本名字
    private int price;//書本價格
    public Book(String name,int price){//使用this對類的數據進行初始化
        this.name = name; 6         this.price = price;
        this.print();//調用本類普通方法,雖然可以不用使用this也可以進行本類普通方法的調用,但是好的習慣最好應該加上,目的是可以區分方法的定義來源
    }
    public String getInfo(){
        return "書籍:" + name + ",價格:" + price;
    }
    public void print(){
        System.out.printIn("***********");
    }
}
public class ThisDemo{
    public static void main(String args[]){
        System.out.printIn(new Book("Java",89.9).getInfo())
    }
}

(2)構造方法:普通方法與構造方法的區別是構造方法在創建后只能掉用一次,用來初始化數據,而普通方法在創建后可以調用多次。

當需要使用構造方法輸出同一重復內容時,若不使用this關鍵字,則只能使用如下代碼:

class Book{//定義書的類
    private String name;//書本名字
    private int price;//書本價格
    public Book(){//無參構造
        System.out.printIn("*************");
    }
    public Book(String name){//一參構造
        System.out.printIn("*************");
        this.name = name;
    }
    public Book(String name,int price){//二參構造
        System.out.printIn("*************");
        this.name = name;
        this.price = price;
        }
    public String getInfo(){
        return "書籍:" + name + ",價格:" + price;
    }
}
public class ThisDemo{
    public static void main(String args[]){
        System.out.printIn(new Book("Java",89.9).getInfo())
    }
}

顯然,這樣大大浪費了代碼行數,而應該使用this進行構造方法的調用,方法如下:

class Book{//定義書的類
    private String name;//書本名字
    private int price;//書本價格
    public Book(){//無參構造
        System.out.printIn("*************");
    }
    public Book(String name){//一參構造
        this();//調用本類中的無參構造
        this.name = name;
    }
    public Book(String name,int price){//二參構造
        this(name);//調用本類中的一參構造
        this.price = price;
        }
    public String getInfo(){
        return "書籍:" + name + ",價格:" + price;
    }  

}
public class ThisDemo{
    public static void main(String args[]){
        System.out.printIn(new Book("Java",89.9).getInfo())
    }
}

注:對this調用必須是構造方法中的第一個語句,否則便會出錯,當然也不能在普通方法中調用構造方法。

最為重要的是,使用this調用不能形成循環,即不能形成遞歸調用而沒有出口。

在整個過程中,this的定義沒有變,只要有某一個對象調用本類中的方法,此時this就表示當前執行的對象。

上述內容就是在java中使用this關鍵字的方法,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇信县| 博爱县| 青田县| 顺义区| 新民市| 上饶县| 柳林县| 巩留县| 贵溪市| 怀安县| 荆州市| 饶阳县| 凤庆县| 桦甸市| 三门峡市| 开鲁县| 玉山县| 达州市| 固原市| 吉水县| 濮阳县| 大渡口区| 察雅县| 汽车| 石泉县| 贡山| 扶绥县| 济南市| 庆元县| 鞍山市| 阿拉尔市| 乐至县| 霞浦县| 中西区| 宾川县| 鲁山县| 金塔县| 松溪县| 江孜县| 交口县| 铜山县|