我需要使用封装打印 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));
谢谢!