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

歡迎訪問 生活随笔!

生活随笔

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

java

Java的知识点9——this关键字

發布時間:2025/4/16 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java的知识点9——this关键字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

this關鍵字

構造方法是創建Java對象的重要途徑,通過new關鍵字調用構造器時,構造器也確實返回該類的對象,但這個對象并不是完全由構造器負責創建。

創建一個對象分為如下四步:

  1. 分配對象空間,并將對象成員變量初始化為0或空

  2. 執行屬性值的顯式初始化

  3. 執行構造方法

  4. 返回對象的地址給相關的變量

this的本質就是“創建好的對象的地址”! 由于在構造方法調用前,對象已經創建。因此,在構造方法中也可以使用this代表“當前對象”

this最常的用法:

? ? ? ? 1. 構造方法中,this總是指向正要初始化的對象

? ? ? ? ? ? ? ? ? ?2. 使用this關鍵字調用重載的構造方法,避免相同的初始化代碼。但只能在構造方法中用,并且必須位于構造方法的第一句。

  ? ? ? ? ? ? 3. this不能用于static方法中。


this代表“當前對象”示例

public class Test5 {int id;String name;String pwd;public Test5() {}public Test5(int id,String name) {System.out.println("正在初始化已經創建好的對象:"+this);this.id=id;this.name=name;}public void login() {System.out.println(this.name+",要登錄");}public static void main(String[] args) {Test5 u3=new Test5(101,"代止兮");System.out.println("打印代止兮對象:"+u3);u3.login();}}


this()調用重載構造方法

public class TestThis {int a,b,c;TestThis(){}TestThis(int a,int b){this();//調用無參的構造方法,并且必須位于第一行a=a; //這里都是指的局部變量而不是成員變量this.a=a; //用this來區分局部變量和成員變量this.b=b; }TestThis(int a,int b,int c){this(a,b); //調用帶參的構造方法,并且必須位于第一行this.c=c;}void sing() {}void eat() {this.sing(); //調用本類的sing()System.out.println("你媽媽喊你回家吃飯!");}public static void main(String [] args) {TestThis hi=new TestThis(2,3);hi.eat();} }


構造方法的重載

構造方法重載(創建不同用戶對象)

如果方法構造中形參名與屬性名相同時,需要使用this關鍵字區分屬性與形參。

public class User {int id;String name;String pwd;public User() {}public User(int id,String name) {super();this.id=id;this.name=name;}public User(int id,String name,String pwd) {this.id=id;this.name=name;this.pwd=pwd;}public static void main(String[] args) {User u1=new User();User u2=new User(101,"止小兮");User u3=new User(100,"代止兮","123456");} }

總結

以上是生活随笔為你收集整理的Java的知识点9——this关键字的全部內容,希望文章能夠幫你解決所遇到的問題。

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