JAVA构造函数不能使用void关键字问题
JAVA构造函数不能使用void关键字
Java 函数的构造函数一般不返回值,所以新手容易添加void关键字,这时候编译器容易报错
java.lang.NullPointerException
这是因为构造函数代表的函数子函数可能会有返回值,系统就不让在早期构造函数写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=new first();
解决这个问题
你可以自己填写一个无参数构造方法
public first(int a,int b){
...
}
public first(){
...
}也可以,在实例类的时候,不要使用无参数的构造方法,使用t=new first(3,2);
btw:构造方法前面加void就变成了成员方法,这是Java编程考试中经常出现的一个考点。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java空指针异常NullPointerException的原因与解决方案
在Java开发中,NullPointerException(空指针异常)是最常见的运行时异常之一,通常发生在程序尝试访问或操作一个为null的对象引用时,这种异常不仅会导致程序崩溃,还会增加调试难度,所以本文系统梳理NullPointerException的成因、调试方法和避免策略2025-06-06


最新评论