我需要使用封裝來打印3個變量,並且我無法修改主類。Java打印對象,封裝
主類聲明變量[缸,使,所有者]並希望創建和使用的參數,例如打印的對象:
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);
}
}
它打印在主程序中的句子,但它打印時,後打印一個奇怪的值,「車輛@ 3d434234」,這似乎是類名後跟某種哈希/十六進制值。
如果我拿出我的print語句
System.out.println(var4+", "+ var2+ " cylinders, "+"owned by "+ var5);
然後,它會直接返回「車輛@ 3d434234」
我怎麼能阻止它從印刷類的哈希值,
請注意我無法修改
System.out.println (new Vehicle (cylinders, make, owner));
謝謝!
覆蓋'toString'在'Vehicle'類方法。 –
爲自己節省很多麻煩,養成爲字段和變量選擇描述性名稱的習慣。使用'var','var2'等名稱實在是一個糟糕的主意。 –