我是编程新手,无法弄清楚如何使用2参数构造函数创建新对象。我只是要从相关的程序中复制/粘贴代码。
这是我的班级:
public class Car {
private int yearModel;
private String make;
private static int speed;
public Car (int yM, String m)
{
yearModel = yM;
make = m;
speed = 0;
}
这是我的测试类:
public class TestCar {
private static String Honda;
public static void main(String[] args)
{
Car c1 = new Car(1999, Honda);
如果没有添加“private static String Honda;
”,我就无法运行该程序。
当我运行它时,我Null
获得Honda
。
答案 0 :(得分:3)
你的构造函数接受一个字符串对象,但你传递它的Honda不是一个字符串。如果“本田”是你要通过它的话,请尝试在它周围添加双引号。
如果没有引号,编译器会认为您正在尝试引用本田变量但它无法找到它。一旦使用“private static String Honda”位声明变量,它就会找到变量。你仍然有一个问题,因为本田没有任何设置。将Honda变量设置为某个值(最好是“NSX”或“S2000”),或者直接将该值传递给构造函数(如上所述将其括在引号中)。
答案 1 :(得分:0)
main()
是一个静态函数 ..静态函数不能使用非静态函数因此本田应该是静态的。
本田尚未初始化,因此将本田初始化如下:
private static String Honda = "Some String";
或
private static String Honda = new String("Some String");
访问没有对象的引用(String Honda)(新的String(“”))将始终引导您null pointer exception
。