读书人

初始化有关问题

发布时间: 2012-02-04 15:43:09 作者: rapoo

初始化问题
我在user.java中设定
public class User {
private String name;
private boolean male;

public boolean isMale() {
return male;
}

public void setMale(boolean male) {
this.male = male;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

在test.java中想访问,
User user=new User();
user.setName( "Tom ");

但是编译报错:User(java.lang.String,java.lang.String,boolean) in cn.ac.i
ct.User cannot be applied to ()
User user=new User();
^

于是我又把“User user=new User();”改成了“User u;”,
但还是报错“variable u might not have been initialized”。
怎么写u的初始化?

------解决方案--------------------


你的程序中是不是在包cn.ac.ict下面还有一个User类,而那个User类的初始化是需要两个String参数和一个boolean参数的。

应该是你的User类引用错了。
[解决办法]
确定user.java,test.java在一个包中?有没有名字相同的User类?
语法上没有错误。
[解决办法]
add:
public User(){}
[解决办法]
我运行楼主的程序,没有问题。
在main()中加一句
System.out.println(user.getName());
就能输出结果Tom
[解决办法]
包导入的对吗?
[解决办法]
有可能是你所用的文件夹内存在着其他的同名类了!!
[解决办法]
return male;
[解决办法]
楼主的程序,就上面的看少了个 "} "
如果有的话程序本身没有错误,查下包的问题
[解决办法]
两个类要在同一个目录!实在不行,把两个类弄到一个.java 不久行了!
[解决办法]
试了一下,
class User {
private String name;
private boolean male;

public boolean isMale() {
return male;
}

public void setMale(boolean male) {
this.male = male;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}
public class test{
public static void main(String[] args){
User user=new User();
user.setName( "tom ");
System.out.println(user.getName());
}
}
没有错误,不知道楼主哪里出了问题

读书人网 >J2SE开发

热点推荐