Java 我的东西没有印出来

Java 我的东西没有印出来,java,object,Java,Object,我是Java新手,正在尝试制作一个简单的程序来跟踪燃料的使用情况。我认为这是一个很好的练习 public class MyJavaProgram { static Car myCar = new Car("Audi"); public static void main(String[] args) { System.out.println(myCar); myCar.refuel(100); myCar.drive(50);

我是Java新手,正在尝试制作一个简单的程序来跟踪燃料的使用情况。我认为这是一个很好的练习

public class MyJavaProgram {

    static Car myCar = new Car("Audi");

    public static void main(String[] args) {

        System.out.println(myCar);

        myCar.refuel(100);
        myCar.drive(50);
        myCar.drive(20);

    }

}
通常在Java中,这段代码会打印出类似“package.Animal@”的内容,但我在控制台中得到的是:

> A new Audi has been created.
> 
> Car refilled with 100 liter fuel. 
> Car drove 50 km. 
> Car drove 20 km.
我的汽车等级:

public class Car {

    String type;
    int fuel = 0;
    int driven;

    public Car(String type) {
        this.type = type;
        System.out.println("A new "+type+" has been created.");
    }

    public void refuel(int amount) {
        fuel += amount;
        System.out.println("Car refilled with "+amount+ " liter fuel.");
    }

    public void drive(int amount) {
        fuel -= amount;
        driven += amount;
        System.out.println("Car drove "+amount+" km.");
    }

    public String toString() {
        return "";
    }

}

我看不出我的代码的哪一部分导致了这个bug。

我自己不是java向导,但我想象它就是这个小家伙:

public String toString() {
    return "";
}
println thingamabob可能会调用objects toString()方法,您已使该方法返回空字符串,而不是默认值


摆脱它或改变它,你应该是金的

我自己不是java向导,但我想象它就是这个小家伙:

public String toString() {
    return "";
}
println thingamabob可能会调用objects toString()方法,您已使该方法返回空字符串,而不是默认值


如果您希望java调用默认的toString()方法,就不应该定义自己的toString()方法。您的toString()方法返回一个空字符串,因此会将一个空字符串打印到控制台。

如果您希望java调用默认的toString()方法,您不应该定义自己的toString()方法。您的toString()方法返回一个空字符串,因此将向控制台打印一个空字符串。

您的对象将被打印。只是您用返回空字符串覆盖了toString方法。

您的对象已打印。只是您已经用返回一个空字符串覆盖了toString方法。

@HF您想打印什么?I not get
package.Animal@
您是指打印hashcode的默认toString()吗?如果是这样,因为您正在重写toString()方法以返回“”,因此该方法上不会显示任何内容line@HF只需删除toString()方法,然后查看。同时移动
carmycar=新车(“奥迪”)在侧面
main()
。让它成为一个实例变量。给你-->公共字符串toString(){return“Car{type-”+this.type+“fuel-”+this.fuel+“driven-”+this.driven+“}”;}@HF你想打印什么?我不懂
package.Animal@
你指的是打印hashcode的默认toString()?如果是这样,因为您正在重写toString()方法以返回“”,因此该方法上不会显示任何内容line@HF只需删除toString()方法,然后查看。同时移动
carmycar=新车(“奥迪”)在侧面
main()
。将其设为实例变量。现在-->公共字符串toString(){return“Car{type-”+this.type+“fuel-”+this.fuel+“driven-”+this.driven+“}”;}