抱歉,只是学习Java;但是,有人能告诉我为什么我会收到“无法找到符号”的错误吗? 我的代码如下:
public class NumberHolder {
public int anInt;
public float aFloat;
public NumberHolder(int setAnInt, float setAFloat) {
setAnInt = anInt;
setAFloat = aFloat;
}
public static void main(String[] args) {
NumberHolder newNumber = NumberHolder(12, 24F);
}
}
答案 0 :(得分:3)
在调用构造函数之前,您似乎错过了new
:
NumberHolder newNumber = new NumberHolder(12, 24F);
编辑: 另外,正如Tassos Bassoukos在他的回答中指出的那样,你需要在构造函数中转换赋值:
anInt = setAnInt;
aFloat = setAFloat;
虽然我个人喜欢写这样的构造函数:
public NumberHolder(int anInt, float aFloat) {
this.anInt = anInt;
this.aFloat = aFloat;
}
但这是风格和个人偏好的问题。
答案 1 :(得分:2)
自
public NumberHolder(int anInt, float aFloat);
是构造函数而不是ordenary方法,您需要使用关键字new来获取实际对象。你正在调用它就像一个方法而你没有任何名为NumberHolder的方法(但是如果你有的话它会有效)
答案 2 :(得分:1)
除了您缺少的new
关键字之外,构造函数中的赋值应该是相反的。
答案 3 :(得分:0)
您需要使用new
关键字实例化新对象。
public class NumberHolder {
public int anInt;
public float aFloat;
public NumberHolder(int anInt, float aFloat) {
this.anInt = anInt;
this.aFloat = aFloat;
}
public static void main(String[] args) {
NumberHolder newNumber = new NumberHolder(12, 24F);
}
}