Java 对象作为参数

Java 对象作为参数,java,Java,我尝试: 在Main中创建Car对象 将对象作为参数发送到车主类 从main打印整个车主数据 将打印名称和地址,但不会打印汽车 我的代码有什么问题 public class TestProgram { public static void main(String [] args){ Car Saab = createCar(); carOwners guy = createCarOwners (Saab); printAll(guy);

我尝试:

  • Main
    中创建
    Car
    对象
  • 将对象作为参数发送到
    车主
  • 从main打印整个车主数据
将打印
名称
地址
,但不会打印
汽车

我的代码有什么问题

public class TestProgram {
    public static void main(String [] args){
        Car Saab = createCar();
        carOwners guy = createCarOwners (Saab);
        printAll(guy);
    }

    public static Car createCar (){
        //user input a, b, c, d
        Car temporary = new Car (a, b, c, d);
        return temporary;
    }
    public static carOwners createCarOwners (Car x){
        //user input a, b
        Car c = x;
        carOwners temporary = new carOwners (a, b, c);
        return temporary;
    }

    public static void printAll (carOwners x){
        x.printCarData();
        x.printNameAddress();
    }
}


覆盖
toString()
,因此您可以自定义
Car的输出格式

public String toString(){
    return "Model :" + this.model + ",Year :" + year;
}
你的问题是:

public void printCarData(){
        System.out.println(TheCar);
    }
您想要打印一个对象。这是行不通的,因为Java使用了toString方法。如果您想这样做,您必须重写car类的toString()方法,如下所示:

public String toString()
{
     return "CarModel: " + this.model + ", Production Year: " + year;
}

将对对象的引用传递给其他方法。在
Car
类中重写
Object#toString
。应该养成为变量指定有意义名称的习惯
public void printCarData(){
        System.out.println(TheCar);
    }
public String toString()
{
     return "CarModel: " + this.model + ", Production Year: " + year;
}