java中用于引入包的關鍵字是什么,java implements this,Java – 何時使用“this”關鍵字

 2023-11-18 阅读 34 评论 0

摘要:但是如果我將構造函數中的語句更改為Java,則Java足夠聰明以知道發生了什么bar = bar;假! 它編譯,但它不會做你認為它的作用!至于何時使用它,很多是個人喜好。 我喜歡在我的公共方法中使用this ,即使是沒有必要的,因為這

但是如果我將構造函數中的語句更改為Java,則Java足夠聰明以知道發生了什么

bar = bar;

假! 它編譯,但它不會做你認為它的作用!

至于何時使用它,很多是個人喜好。 我喜歡在我的公共方法中使用this ,即使是沒有必要的,因為這是接口發生的地方,很高興聲明什么是我的,什么不是。

作為參考,您可以查看關于this.subject的Oracle Java教程:-)

java中用于引入包的關鍵字是什么、其實

baz = baz

會提出這個警告

對variablesbaz的賦值沒有效果

所以你認為是錯誤的,本地范圍覆蓋類屬性,所以你必須明確地使用this關鍵字來指定variables的類屬性。

否則,分配給variables的variables只是作為parameter passing的variables,而類別被忽略。 這就是為什么this是有用的,這不是一個可讀性的事實,這是明確地決定你在說什么baz的事實。

java中this,我會說

在不使用它的地方使用它會引起歧義(或編譯器警告,這是更重要的),否則就把它留下。 既然其目的正是為了解決默認假設(首先檢查本地,然后檢查類屬性)是否不明確。

當你有一個與字段同名的參數時,你應該使用它,否則你會遇到問題。 它會編譯,但不一定會做你想要的。

至于其他地方,除非為了可讀性的緣故,否則不要使用它。 如果你在任何地方都使用它,你的代碼中的20%將由“this”組成。

this關鍵字引用了某個方法被調用的類的Object。

例如:

Java,public class Xyz { public Xyz(Abc ob) { ob.show(); } } public class Abc { int a = 10; public Abc() { new Xyz(this); } public void show() { System.out.println("Value of a " + a); } public static void main(String s[]) { new Abc(); } }

在Abc()我們調用需要Abc Class對象的Xyz() 。所以我們可以通過this而不是新的Abc() ,因為如果我們在這里傳遞新的Abc() ,它會一次又一次地調用自己。

我們也用這個來區分方法的類和局部variables的variables。 例如

class Abc { int a; void setValue(int a) { this.a = a; } }

這里this.a是指Abc類的variablesa。 因此,與使用新的Abc().a;具有相同的效果Abc().a; 。

所以你可以說this是指當前課程的對象。

java構造方法、在顯式的構造函數調用中使用這個關鍵字是很常見的。 你可以從文檔中看到一個例子。

public class Rectangle { private int x, y; private int width, height; public Rectangle() { this(0, 0, 1, 1); } public Rectangle(int width, int height) { this(0, 0, width, height); } public Rectangle(int x, int y, int width, int height) { this.x = x; this.y = y; this.width = width; this.height = height; } ... }

public Foo(Bar bar) { this.bar = bar; }

是不一樣的

public Foo(Bar bar) { bar = bar; }

在第二種情況下,作用域中的bar是參數,所以將其分配給自己。 this.bar保持為null 。

java類。這是一種個人喜好 – select一種風格,堅持下去。 我個人使用this但其他人認為這是多余的。

根據慣例,您可以使用它來提高可讀性。 它強調這是一個對象variables的事實。

我也喜歡使用與variables同名的setter參數(在方法簽名中看起來更好)。 在這種情況下你需要this 。

我總是嘗試在本地類對象上使用this關鍵字。

我用它在視覺上提醒我,如果一個對象是靜態對象或類對象。

它幫助我和編譯器區分方法參數和本地類對象。

java內部類、public void setValue(int value){ this.value = value; }

它可以幫助我在視覺上提醒我內部/嵌套/匿名類中是否存在這樣一個局部對象,以區分它與封裝類對象。 因為如果沒有this前綴,我的約定會提醒我這是封裝類的一個對象

public class Hello{ public int value = 0; public boolean modal = false; public class Hellee{ public int value = 1; public getValue(){ if (modal) return 0; return this.value; } } }

void set(int real) { this.real = real; }

這里有一個關鍵字,當有實例variables和本地variables相同時。

另一個用途是構造函數重載。 它可以在重載的構造函數中調用構造函數。

java是什么。個人喜好,但我用它來解決歧義,我想在極less數情況下,很明顯,指定的variables是一個字段。 有一些項目在人們使用“this.field”每一個字段的參考。 我發現這種做法在視覺上分散注意力,讓人討厭,但是你應該準備好偶爾看看這樣的代碼。

我偷偷地以為地獄里有一個特別的地方,那些編寫500行的,有275個這個關鍵字的人,但是這個風格是在一些開源項目中find的,所以我猜也是這樣。

將其用于克隆對象(通過將自身的引用傳遞給復制構造函數)。

對inheritanceCloneable對象有用。

public Foo implements Cloneable { private String bar; public Foo(Foo who) { bar = who.bar; } public Object getClone() { return new Foo(this); //Return new copy of self. } }

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/177738.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息