gpt4 book ai didi

Java打印对象、封装

转载 作者:行者123 更新时间:2023-12-01 18:44:28 29 4
gpt4 key购买 nike

我需要使用封装打印3个变量,并且无法修改主类。

主类声明变量[汽缸、制造商、所有者],并希望使用如下参数创建和打印一个对象:

System.out.println (new Vehicle (cylinders, make, owner)); //create Vehicle object

对象应该接受变量并打印出一个简单的句子。

现在,我的代码可以“工作”了:

import java.util.*;
public class Vehicle{
int var;
int var2;
double var3;
String var4;
String var5;
String tots;

public Vehicle (int cylinders, String make,String owner){
var2=cylinders;
var4=make;
var5=owner;
System.out.println(var4+", "+ var2+ " cylinders, "+"owned by "+ var5 );
}
}

它打印主程序中的句子,但是当它打印时,它在“Vehicle@3d434234”后面打印一个奇怪的值,这似乎是类名后面跟着某种哈希/十六进制值。

如果我拿出我的打印报表

System.out.println(var4+", "+ var2+ " cylinders, "+"owned by "+ var5 );

然后它只会返回“Vehicle@3d434234”

如何阻止它打印类的哈希值,

请记住我无法修改

System.out.println (new Vehicle (cylinders, make, owner));

谢谢!

最佳答案

您需要重写它的toString方法:

在您的 Vehicle 类中编写此方法:

public String toString(){

return var4+", "+ var2+ " cylinders, "+"owned by "+ var5;
}

请注意,变量var4等是您的类Vehicle中定义的变量。

关于Java打印对象、封装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18426966/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com