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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中的构造方法,this、super的用法

發布時間:2025/4/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中的构造方法,this、super的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、構造方法

定義:與類同名沒有返回值的方法稱為構造方法;

public class test1 {
private String name;
private int age;
public test1(){
}

}

上面的test1()是默認構造方法,即使沒有定義java虛擬機在運行的時候也會自動生成,

當然如果定義了重載的構造方法便不會自動生成;

構造方法的作用有兩點1.通過構造方法建立一個對象;2.通過構造方法可以快速的賦初值;

public class Main {
public static void main(String[] args) {
test1 t1=new test1();//new后面加上構造方法建立了一個對象
}
}

而如果類中有其它屬性的話可以有構造方法的重載:

public test1(String name, int age) {
this.name = name;
this.age = age;
}

利用重載的構造方法可以很快速的給對象賦初值,特別是對于private的屬性,如果用getter和setter很不方便;

public static void main(String[] args) {
test1 t1=new test1();
test1 t2=new test1("bob", 18);
System.out.println(t1);
System.out.println(t2);
}

輸出結果:

test1 [name=null, age=0]
test1 [name=bob, age=18]

t1沒有賦初值所有它里面的值是系統設置的初值;

t2利用有參的構造方法,直接給屬性設置了初值,非常的方便,就不用setter方法來一個個設置值;

2. this

誰調用指向誰,是指向調用的對象;

舉例說明:

在上面的test1 類中加上以下fly()方法:

public void fly(){
System.out.println(this.name+"會飛");//this指向調用的對象
}

在運行中調用:

public static void main(String[] args) {
test1 t1=new test1();
test1 t2=new test1("bob", 18);
t1.fly();//方法中的this指向t1
t2.fly();//方法中的this指向t2
// System.out.println(t1);
// System.out.println(t2);
}

結果如下:

null會飛
bob會飛

另外this還需要注意的一點是用在構造方法中:

public test1(String name, int age) {
this();//在運行構造方法進行屬性賦值前是一定會先調用無參數的構造方法
this.name = name;
this.age = age;
}

當然構造方法調用主要看this(參數列表)看圓括號里面的參數列表和哪一個構造方法相同就執行哪一個構造方法;

2. super:指向父類,調用父類的屬性和方法;

其實使用起來和this關鍵字差不多;

public test1(){
super();
}

上面的super(()調用的是父類的構造方法,如果沒有繼承父類的話,那么它的父類是指向object(所有類的超類);

使用:suiper關鍵字加“ . ”可以訪問父類可以訪問的屬性和方法,一般用于區分被子類重寫了的方法;

?

使用this(參數列表)和super(參數列表)的構造方法注意事項:

a. ?只能夠位于構造方法的第一行;

b. 不能同時出現在一個構造方法中;

c. 總是會先訪問完父類的構造方法在訪問子類里面的構造方法;

轉載于:https://www.cnblogs.com/sw-123/p/9321124.html

總結

以上是生活随笔為你收集整理的java中的构造方法,this、super的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

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