當前位置:首頁 » 編程語言 » javathis省略

javathis省略

發布時間: 2022-07-10 08:34:19

java裡面的this.在什麼情況下可以省略吧,哪位大神可以幫我下啊!

沒有局部變數與this指向的變數重名時可以省略。

⑵ 什麼時候可以省略this java

比方說有兩個類,A,B,當你的類A繼辰自類B時,在類A理面調用類B的方法時,可以省略this,就是說你原來要寫成this.xxxx()方法。現在只需要寫成xxxx()方法就可以了,這樣說你懂了嗎???

⑶ java中this的用法

java中this有兩種用法:
1、代表當前類
public class Dog{
private String name;
private float age;
public setName(String name){
this.name = name;
}
.......
}
這里的this就代表的當前的這個Dog類。this.name可以理解為dog.name,只是理解,不是等於。
2、在構造函數中的使用
public class Dog{
private String name;
private int age;
//有一個參數的構造函數
public Dog(String name){
this.name = name;
}
public Dog(String name,int age){
this.name = name;
this.age = age;
}
//這個無參構造方法里調用的有兩個參數的構造方法,這個也就是this的第二種用法了!
public Dog(){
this("nihao",20);
}
}

⑷ Java:關於類中的this,這兩種情況對比後,第一種寫法中的this是省略了嗎還是有其他機制

兩方面解釋吧,一.java類裡面的方法(函數),預設帶入當前對象this,比如你的public void A(),實際上應該是public void A(this),編譯器在編譯的時候會補上this,當前對象的一個引用或者說指針
二.java就近原則。就比如你現在需要寫字,你桌子上有支筆,書房裡也有隻一樣的筆,此時,你肯定會拿起桌子上的筆來寫字,而不會跑去書房拿另外一支。java也是這樣的
綜上,在同一個類裡面,引用類中方法或函數,加或者不加this都是一樣的。但是編譯的時候,肯定會統一成this.B(),因為JAVA裡面萬事萬物皆對象,只有實例化的對象才能調用方法(也可以說是發送或處理消息),否則就是nullPointException,空指針異常

⑸ 關於android開發(java開發)中this的問題

通俗講,this指本類,如:
public
class
Main
extends
Activity
{
。。。
GridView
gridview
=(GridView)
findViewById(R.id.gridview);
gridview.setAdapter(newImageAdapter(this));
。。。
}
代碼第二行的this指Main.this
Android很多控制項運行是有條件的,就是所謂的運行環境,就是Context(上下文),Context就是一系列環境變數,控制項的運行是基於這些變數的。
我也是花很多時間才真正體會到this,Context概念的,這個概念非常重要,慢慢體會吧。

⑹ java中 this的定義

this是對象內部指代自身的引用,同時也是解決成員變數和局部變數同名問題;

this關鍵字可以簡單的理解為,誰調用this所在的方法,this就是誰。

this可以調用成員變數,不能調用局部變數;

this也可以調用成員方法,但是在普通方法中可以省略this,在構造方法中不允許省略,必須是構造方法的第一條語句,而且在靜態方法當中不允許出現this關鍵字。

⑺ java this 的用法

this表示你當前這個對象的實例。
調用自己類的方法或者屬性時,用this.propertyName和this.methodName(),此時this通常可以省略

比如人作為一個對象,作為一個實例化的自己,this就是「我」的概念。

⑻ java 父類普通方法中調用重寫方法,省略的this代表的是誰,希望提供完整說明

this關鍵字代表的是當前類的引用,你這里new了一個子類對象,調用從父類那裡繼承的show()方法,就像是子類也有一個一樣的show()方法,所以這里this 代指引用對象z,在執行this.doSome(),實際就是執行z.doSome(),希望可以幫到你

⑼ 求:JAVA中this的三種用法的詳解!!!謝謝 !

這個詳解,我找資料給你吧

8.8.1 this關鍵字
this關鍵字代表自身,在程序中主要的使用用途有以下幾個方面:
 使用this關鍵字引用成員變數
 使用this關鍵字在自身構造方法內部引用其它構造方法
 使用this關鍵字代表自身類的對象
 使用this關鍵字引用成員方法
8.8.1.1 引用成員變數
在一個類的方法或構造方法內部,可以使用「this.成員變數名」這樣的格式來引用成員變數名,有些時候可以省略,有些時候不能省略。首先看一下下面的代碼:
/**
* 使用this引用成員變數
*/
public class ReferenceVariable {
private int a;

public ReferenceVariable(int a){
this.a = a;
}

public int getA(){
return a;
}

public void setA(int a){
this.a = a;
}
}
在該代碼的構造方法和setA方法內部,都是用this.a引用類的成員變數。因為無論在構造方法還是setA方法內部,都包含2個變數名為a的變數,一個是參數a,另外一個是成員變數a。按照Java語言的變數作用范圍規定,參數a的作用范圍為構造方法或方法內部,成員變數a的作用范圍是類的內部,這樣在構造方法和setA方法內部就存在了變數a的沖突,Java語言規定當變數作用范圍重疊時,作用域小的變數覆蓋作用域大的變數。所以在構造方法和setA方法內部,參數a起作用。
這樣需要訪問成員變數a則必須使用this進行引用。當然,如果變數名不發生重疊,則this可以省略。
但是為了增強代碼的可讀性,一般將參數的名稱和成員變數的名稱保持一致,所以this的使用頻率在規范的代碼內部應該很多。
8.8.1.2 引用構造方法
在一個類的構造方法內部,也可以使用this關鍵字引用其它的構造方法,這樣可以降低代碼的重復,也可以使所有的構造方法保持統一,這樣方便以後的代碼修改和維護,也方便代碼的閱讀。
下面是一個簡單的示例:
/**
* 使用this關鍵字引用構造方法
*/
public class ReferenceConstructor {
int a;

public ReferenceConstructor(){
this(0);
}

public ReferenceConstructor(int a){
this.a = a;
}
}
這里在不帶參數的構造方法內部,使用this調用了另外一個構造方法,其中0是根據需要傳遞的參數的值,當一個類內部的構造方法比較多時,可以只書寫一個構造方法的內部功能代碼,然後其它的構造方法都通過調用該構造方法實現,這樣既保證了所有的構造是統一的,也降低了代碼的重復。
在實際使用時,需要注意的是,在構造方法內部使用this關鍵字調用其它的構造方法時,調用的代碼只能出現在構造方法內部的第一行可執行代碼。這樣,在構造方法內部使用this關鍵字調用構造方法最多會出現一次。
8.8.1.3 代表自身對象
在一個類的內部,也可以使用this代表自身類的對象,或者換句話說,每個類內部都有一個隱含的成員變數,該成員變數的類型是該類的類型,該成員變數的名稱是this,實際使用this代表自身類的對象的示例代碼如下:
/**
* 使用this代表自身類的對象
*/
public class ReferenceObject {
ReferenceObject instance;

public ReferenceObject(){
instance = this;
}

public void test(){
System.out.println(this);
}
}
在構造方法內部,將對象this的值賦值給instance,在test方法內部,輸出對象this的內容,這里的this都代表自身類型的對象。
8.8.1.4 引用成員方法
在一個類的內部,成員方法之間的互相調用時也可以使用「this.方法名(參數)」來進行引用,只是所有這樣的引用中this都可以省略,所以這里就不詳細介紹了。

⑽ Java中,在構造方法里調用本類中的方法是不是可以省略this

可以

Java關鍵字this只能用於方法方法體內。當一個對象創建後,Java虛擬機(JVM)就會給這個對象分配一個引用自身的指針,這個指針的名字就是this。因此,this只能在類中的非靜態方法中使用,靜態方法和靜態的代碼塊中絕對不能出現this,這在「Java關鍵字static、final使用總結」一文中給出了明確解釋。並且this只和特定的對象關聯,而不和類關聯,同一個類的不同對象有不同的this。

熱點內容
259pp頁面訪問升級 發布:2024-05-05 21:47:51 瀏覽:88
迅雷阻止上傳 發布:2024-05-05 21:26:19 瀏覽:913
資料庫運維題 發布:2024-05-05 21:21:47 瀏覽:961
RM魔塔編程 發布:2024-05-05 21:21:47 瀏覽:285
matlab獲取文件夾 發布:2024-05-05 21:12:24 瀏覽:291
一根式演算法 發布:2024-05-05 21:12:23 瀏覽:955
php無刷新 發布:2024-05-05 21:08:11 瀏覽:982
搭建一個流媒體伺服器 發布:2024-05-05 20:40:59 瀏覽:667
2017中超資料庫 發布:2024-05-05 20:37:25 瀏覽:379
編程包游戲 發布:2024-05-05 20:25:00 瀏覽:609