當前位置:首頁 » 編程語言 » java不加this

java不加this

發布時間: 2022-08-20 16:58:39

java 為什麼service層 不要使用 this

this 是指的當前類 通常都會用 this.方法 來調用當前類的非靜態方法
當你使用this默認就會創建一個當前類的對象 所以最好不要隨便使用
service 一般是用來處理邏輯,實現介面的 一般也不會在 service 寫什麼工具方法 如果需要工具方法也是寫在 工具類裡面.
在編碼規范裡面 是 不讓使用的,當然如果只是練習什麼的 用不用都無所謂沒什麼 太大影響

⑵ java中的this問題

我理解的是,this代表這個類本身,對於F.java這個類而言,相當於在說「我」,方法b中調用了this.a(),可以理解為方法b調用了「我的a方法」。
對於這個例子而言,其實加不加this,結果都一樣,但對於這個例子就有用了:
假設有一個類叫G.java,其擁有一個和F.java一模一樣的方法a:
public class G {
public void a(Object args1) {

}
}
並且此時,F繼承自G:
public class F extends G{
public void a(Object args1) {

}
public void b(String args2) {
this.a(args2);
super.a(args2);
}
此時注意我上面寫的b方法,b方法中既要調用F自己的a方法,又要調用父類G中的a方法,為防止出現歧義,我們在調用F的a方法時,就使用this作為修飾;調用G的a方法時,就使用super作為修飾,這樣就一目瞭然不是嗎。
然後如果不加this,比如b方法定義為:
public void b(String args2) {
a(args2);
}
其實默認就是調用了F自身的a方法,可以理解為不加this時,java會默認給它加上this。
另外說一下你的例子如何輸出一個東西,你需要在你的a方法里加上比如:
public void a(Object args1) {
System.out.println(args1.toString());
}
在你的main函數中不要傳入null,否則將引起空指針異常,你可以傳入比如:
public static void mian(String[] args) {
new F().b("哈哈哈");
}
這樣運行時最終會在控制台輸出「哈哈哈」

⑶ java,構造函數中調用同一個類的其他構造函數時不使用this,如何實現

在本類中用靜態方法,可以不用this
public class S {

public S() {
ssss();
}
public static void ssss(){ //static 靜態(修飾符)

}
}

⑷ Java:關於Java中的this,這里為什麼加不加都一樣呢

this指直譯是「這個」,在java中指「當前的」。不管在哪裡,只要用到this,指的一定就是當前的這個對象。最常見的用法是在寫java bean中。比如下面的代碼

publicclassStudent{
privateStringname;
privateintage;
publicStudent(){}
publicStudent(Stringname,intage){
this();
this.setName(name);
this.age=age;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnthis.age;
}
}

上面的代碼是一個javabean。所謂的javabean就是一個類,這個類有一些屬性,方法只有這些屬性的Getter或者Setter(從Object類繼承的方法不算在此列)。
這個bean有兩個屬性,在構造器中為屬性賦值的時候寫的this.setName(name).意思是調用當前你創建的這個對象的Setter給這個對象的屬性賦值。而setName裡面的this.name=name;這一句,等號之前的this.name表示當前對象的name,也就是在類裡面定義的privateStringname這個變數,而等號之後的name表示從外界調用這個方法時候傳進來的參數。所以這句話的意思就是將外界傳來的字元串變數的值賦給當前對象的name屬性。
那麼構造器第一行的this()是做什麼的呢?這句話是調用當前這個對象的無參構造,就是調用上面的publicStudent(){}這個構造器。在這段代碼里this()體現不出來什麼作用。但是我們知道構造器的作用是在構造對象的時候給屬性賦值的。如果上面個無參構造裡面寫一些賦值語句的話那麼這里就可以避免代碼的重復了。但是請注意,調用this()的時候一定要寫在該方法的第一行,否則會報錯。
另外,this關鍵字不能使用在有static關鍵字修飾的方法和代碼塊裡面。因為static是這個類的所有對象共用的,而this指的只是當前這個對象的「私人」的一些東西,在屬性上面就沖突了。

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

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

⑹ Java:為什麼這里不用this就能獲得當前線程名呢

當線程類繼承了Thread類時,直接可以用this獲取當前線程
相當於this.getName(),再將this省略。
Thread.currentThread().getName()這個是通用的,絕對不會錯的、你線程類實現Runnable介面也可以用這個取得當前線程名!

⑺ 什麼時候可以省略this java

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

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

可以

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

⑼ JAVA函數中加和不加this的區別

對於當前a()方法沒有影響,也沒有區別;

為什麼沒有區別?

因為a方法中沒有變數名為b、c、d的變數,這三個變數應該都是當前類中聲明的變數(或者父類中的),那麼在使用的時候加與不加關鍵字this,對結果沒有影響。

你可能會問,什麼時候有區別?也可能會問,什麼是父類中的?

請追問,我原本把問題答案寫好了,但是不知道為啥突然沒了

註:當方法中沒有聲明指定的變數(例如變數b),或者方法中沒有指定的變數參數(例如變數b)。那麼在方法中使用變數b(書寫:「b」),java語言便會默認成 「this.b」(前提是,類中聲明了變數b ,或者該類繼承到了變數b)。

熱點內容
掌握ftp伺服器的配置與管理 發布:2024-05-03 08:06:58 瀏覽:765
伺服器搭建的函數 發布:2024-05-03 07:54:44 瀏覽:815
php包含數組 發布:2024-05-03 07:53:51 瀏覽:702
短暫記憶存儲信息是有限的 發布:2024-05-03 07:48:14 瀏覽:537
java集合對象 發布:2024-05-03 07:32:13 瀏覽:916
蘋果自帶腳本 發布:2024-05-03 07:16:04 瀏覽:569
商城導航源碼 發布:2024-05-03 07:14:15 瀏覽:552
shell腳本日誌輸出 發布:2024-05-03 06:31:04 瀏覽:713
伺服器快捷方式是什麼意思 發布:2024-05-03 06:28:18 瀏覽:108
我的世界怎麼成為伺服器最靚的仔 發布:2024-05-03 06:26:44 瀏覽:853