JAVA構造函數不能使用void關鍵字問題
JAVA構造函數不能使用void關鍵字
Java 函數的構造函數一般不返回值,所以新手容易添加void關鍵字,這時候編譯器容易報錯
java.lang.NullPointerException
這是因為構造函數代表的函數子函數可能會有返回值,系統(tǒng)就不讓在早期構造函數寫void。
public class testMap {
//這里的void就會引起報錯!?。。。。。。?!
public **void** testMap() {
}
public void testPut() {
}
void foreach() {
}
public static void main(String[] args) {
testMap tp=new testMap();
tp.testPut ();
tp.foreach();
}
}
JAVA構造方法前加void有什么作用
構造方法前面是沒有任何返回符,不能加任何返回類型,包括void.一個構造方法一旦加了void,那么這個就不是構造方法了,變成了一個普通的方法。
至于你程序出現的情況,是這樣的。任何一個Java類,如果你不自己定義構造方法,那么都有一個缺省的無參數的構造方法。但是當你定義了自己的構造方法,那么缺省的構造方法就沒有了。
當你不加void的時候,表示你定義了一個有兩個參數的構造方法,first(int a,int b),而你在實例類的時候,卻t=new first(); 但是找不到這個類的無參數構造方法,所以就出錯了。
當你加void的時候void first(int a,int b),就變成了你類的一個方法,這時候你沒有為類自定義任何一個構造方法,所以系統(tǒng)為你分配一個缺省的無參數構造方法,在實例類的時候,就可以使用t=new first();
解決這個問題
你可以自己填寫一個無參數構造方法
public first(int a,int b){
...
}
public first(){
...
}也可以,在實例類的時候,不要使用無參數的構造方法,使用t=new first(3,2);
btw:構造方法前面加void就變成了成員方法,這是Java編程考試中經常出現的一個考點。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java空指針異常NullPointerException的原因與解決方案
在Java開發(fā)中,NullPointerException(空指針異常)是最常見的運行時異常之一,通常發(fā)生在程序嘗試訪問或操作一個為null的對象引用時,這種異常不僅會導致程序崩潰,還會增加調試難度,所以本文系統(tǒng)梳理NullPointerException的成因、調試方法和避免策略2025-06-06

