java this 三种用法
生活随笔
收集整理的這篇文章主要介紹了
java this 三种用法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.區(qū)分成員變量和局部變量
public class ThisDemo {public static void main(String[] args) {Student s=new Student("小明明",20);System.out.println(s);}}class Student{String name;int age;public Student(String name, int age) {//注:沒有加thisname = name;age = age;}@Overridepublic String toString() {return "Student [ name=" + name + ", age=" + age +"]";}}打印結(jié)果:Student [ name=null, age=0] 賦值沒有成功,說明:name(局部變量)=name(局部變量); 而不是name(成員變量)=name(局部變量);public Student(String name, int age) {//注:可以使用this進(jìn)行區(qū)分成員變量和局部變量this.name = name;this.age = age; }
打印結(jié)果:Student [ name=小明明, age=20] 這樣子就可以賦值成功啦
2.代表當(dāng)前對象
public static void main(String[] args) {Student s=new Student("小明明",20);System.out.println(s);}//為什么加入this后就可以區(qū)分呢?因?yàn)?span id="ze8trgl8bvbq" class="token keyword">this當(dāng)前代表的是s實(shí)例(對象)相當(dāng)于s.name="小明明";s.age="20";//再可以理解如下this.name=實(shí)例(對象).name="小明明";3.構(gòu)造器與構(gòu)造器之間的調(diào)用
為Student再添加兩個(gè)構(gòu)造器,修改后如下:class Student{String name;int age;int id;public Student(int id,String name, int age) {this.id = id;this.name = name;this.age = age;}public Student(String name, int age) {this.name = name;this.age = age;}public Student(String name) {this.name = name;}@Overridepublic String toString() {return "Student [ id=" + id + ", name=" + name + ", age=" + age +"]";}}
//構(gòu)造器用法-->this();跟函數(shù)一樣()中可以寫參數(shù) 構(gòu)造器調(diào)用一般是這樣子用的.不同的構(gòu)造器中存在相同代碼.為了復(fù)用性。可以在參數(shù)少的構(gòu)造器中調(diào)用參數(shù)多的構(gòu)造器,如下:
class Student{String name;int age;int id;public Student(String name, int age, int id) {this.name = name;this.age = age;this.id = id;System.out.println("構(gòu)造器3已調(diào)用");}public Student(String name, int age) {this(name,age,0);System.out.println("構(gòu)造器2已調(diào)用");}public Student(String name) {this(name,0);//參數(shù)不足,就使用參數(shù)默認(rèn)值補(bǔ)全System.out.println("構(gòu)造器1已調(diào)用");}@Overridepublic String toString() {return "Student [ id=" + id + ", name=" + name + ", age=" + age +"]";}}
測試結(jié)果1:public static void main(String[] args) {Student s=new Student("小明明");System.out.println(s);} 構(gòu)造器3已調(diào)用構(gòu)造器2已調(diào)用構(gòu)造器1已調(diào)用Student [ id=0, name=小明明, age=0]測試結(jié)果2:public static void main(String[] args) {Student s=new Student("小明明",20);System.out.println(s);}構(gòu)造器3已調(diào)用構(gòu)造器2已調(diào)用Student [ id=0, name=小明明, age=20]總結(jié):這樣子可以在參數(shù)最多的構(gòu)造器中編寫代表。其他構(gòu)造器負(fù)責(zé)調(diào)用參數(shù)最多的那個(gè)構(gòu)造器就好了
this的三種常見用法介紹完畢!怎么樣很容易吧.
總結(jié)
以上是生活随笔為你收集整理的java this 三种用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python精要(82)-wxpytho
- 下一篇: erlang精要(30)-卫语句