使用2参数构造函数创建对象时出现问题

时间:2013-11-15 23:10:46

标签: java eclipse

我是编程新手,无法弄清楚如何使用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

2 个答案:

答案 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