Java 如何使用toString、getter和setter方法
我正按照下面的说明乘公共汽车。我不知道如何使用toString()方法打印数据值。我也不知道如何将颜色打印为字符串,表示“黑色”或“蓝色”。我不知道如何使用布尔值来表示“已连接”或“已断开连接” 创建一个名为heephone的Java类来表示耳机集。该类包含: •三个常量,分别命名为低、中、高,值分别为1、2和3 表示耳机音量 •一个名为volume的私有int数据字段,用于指定 耳机。默认卷是中等卷 •名为pluggedIn的专用布尔数据字段,用于指定 耳机已插入。如果为false,则为默认值 •名为manufacturer的私有字符串数据字段,用于指定 耳机制造商的名称 •名为HEADPHONCOLOR的专用颜色数据字段,用于指定 耳机的颜色 •所有数据字段的getter和setter方法 •创建默认耳机的无参数构造函数 •名为toString()的方法,返回描述 耳机的当前字段值 •一种名为changeVolume(value)的方法,用于更改 耳机到传递到方法中的值 创建一个TestHeadhead类,该类至少构造3个Headhead 对象 我的输出: 制造商:Bose 颜色:java.awt.Color[r=0,g=0,b=0] 当前:false 卷:2 请将耳机插入设备 制造商:JVC 颜色:java.awt.Color[r=0,g=0,b=255] 目前:正确 卷:3 目前正在演奏古典音乐 所需输出: 制造商:Bose 颜色:黑色 当前:已断开连接 音量设置为:中等 请将耳机插入设备 耳机2具有以下参数: 制造商:JVC 颜色:蓝色 目前:已连接 音量设置为:低Java 如何使用toString、getter和setter方法,java,string,overriding,Java,String,Overriding,我正按照下面的说明乘公共汽车。我不知道如何使用toString()方法打印数据值。我也不知道如何将颜色打印为字符串,表示“黑色”或“蓝色”。我不知道如何使用布尔值来表示“已连接”或“已断开连接” 创建一个名为heephone的Java类来表示耳机集。该类包含: •三个常量,分别命名为低、中、高,值分别为1、2和3 表示耳机音量 •一个名为volume的私有int数据字段,用于指定 耳机。默认卷是中等卷 •名为pluggedIn的专用布尔数据字段,用于指定 耳机已插入。如果为false,则为默认值
当前正在播放古典音乐播放列表您可以覆盖要打印的对象的
toString()
方法。但是,有些对象已经使用人类可读的格式为您实现了它们的toString()
方法。i、 e.颜色
类
...
System.out.println("Color: " + headPhone.getColor().toString());
...
另一方面,您可以通过重写指定对象应显示为
字符串的格式。(除非对可以/不能修改的内容有类限制,即final
关键字)。如果项目无法重写toString()
方法,则始终可以使用其原语值有条件地显式格式化显示字符串。i、 e
System.out.println("Currently: " + (headPhone.getStatus() ? "connected" : "disconnected"));
...
请注意,每次要打印代码其他部分中的状态时,都需要执行此操作。重写toString()
在任何地方都会统一执行。看看这段代码。这可能会有帮助
public class TestHeadPhones {
/**
* @param args
*/
public static void main(String[] args) {
HeadPhones h1 = new HeadPhones();
h1.setVolume(2);
h1.setHeadPhoneColor("CYAN");
h1.setManufacturer("Bass");
h1.setPluggedIn(true);
HeadPhones h2 = new HeadPhones();
h2.setVolume(1);
h2.setHeadPhoneColor("blue");
h2.setManufacturer("Bass");
h2.setPluggedIn(true);
HeadPhones h3 = new HeadPhones();
h3.setVolume(HeadPhones.HIGH);
h3.setHeadPhoneColor("DARK GRAY");
h3.setManufacturer("Bass");
h3.setPluggedIn(true);
// Print description of all headphones
System.out.println("Description of Headphone 1");
System.out.println(h1.toString() + "\n");
System.out.println("Description of Headphone 2");
System.out.println(h2.toString() + "\n");
System.out.println("Description of Headphone 3");
System.out.println(h3.toString() + "\n");
//change volume of headphone 1
h1.changeVolume(3);
System.out.println("Description of Headphone 1");
System.out.println(h1.toString() + "\n");
}
}
这是耳机课
public class HeadPhones {
public static final int LOW = 1;
public static final int MEDIUM = 2;
public static final int HIGH = 3;
private int volume = MEDIUM;
private boolean pluggedIn = false;
private String manufacturer;
private String headPhoneColor;
/**
* Default Constructor
*/
public HeadPhones() {
}
/***
* Change the voulme
* @param value
*/
public void changeVolume(int value) {
setVolume(value);
}
/**
* Return Description of Object
*/
public String toString() {
return "Volume: " + getVolume() + "\n" + "Plugin is set: "
+ isPluggedIn() + "\n" + "Color of HeadePhone: "
+ getHeadPhoneColor() + "\n" + "Manufacturer: "
+ getManufacturer();
}
/**
* Set volume
* @param volume
*/
public void setVolume(int volume) {
this.volume = volume;
}
/***
* Get Volume
* @return volume
*/
public int getVolume() {
return volume;
}
/**
* Set plugin
* @param pluggedIn
*/
public void setPluggedIn(boolean pluggedIn) {
this.pluggedIn = pluggedIn;
}
/***
* Get Plugin is true or false
* @return pluggedIn
*/
public boolean isPluggedIn() {
return pluggedIn;
}
/***
* Set Manufacture
* @param manufacturer
*/
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
/***
* Get Manufacture
* @return manufacturer
*/
public String getManufacturer() {
return manufacturer;
}
/***
* Set the Color
* @param headPhoneColor
*/
public void setHeadPhoneColor(String headPhoneColor) {
this.headPhoneColor = headPhoneColor;
}
/**
* This method will return the color
* @return headPhoneColor
*/
public String getHeadPhoneColor() {
return headPhoneColor;
}
}
你在前进中还有困难吗?我有。我仍然不知道如何获取字符串值和使用toString()方法。现在打印什么?制造商:Bose颜色:java.awt.Color[r=0,g=0,b=0]当前:断开连接的音量:2请将耳机插入设备。我必须使用一个if循环来打印单词“disconnected”,而不是false,但我不认为这就是指令的含义属性仍然没有按预期打印吗?除了colorCare要详细说明的内容之外,TestHeadspes类中的toString()方法也可以工作,例如:System.out.println(“耳机1的说明”);System.out.println(h1.toString()+“\n”);System.out.println(“耳机2的说明”)代码>答案是一个巨大的代码转储,没有任何解释。也许我应该输出System.out.println(h1.toString()+“\n”)代码>仅限
public class HeadPhones {
public static final int LOW = 1;
public static final int MEDIUM = 2;
public static final int HIGH = 3;
private int volume = MEDIUM;
private boolean pluggedIn = false;
private String manufacturer;
private String headPhoneColor;
/**
* Default Constructor
*/
public HeadPhones() {
}
/***
* Change the voulme
* @param value
*/
public void changeVolume(int value) {
setVolume(value);
}
/**
* Return Description of Object
*/
public String toString() {
return "Volume: " + getVolume() + "\n" + "Plugin is set: "
+ isPluggedIn() + "\n" + "Color of HeadePhone: "
+ getHeadPhoneColor() + "\n" + "Manufacturer: "
+ getManufacturer();
}
/**
* Set volume
* @param volume
*/
public void setVolume(int volume) {
this.volume = volume;
}
/***
* Get Volume
* @return volume
*/
public int getVolume() {
return volume;
}
/**
* Set plugin
* @param pluggedIn
*/
public void setPluggedIn(boolean pluggedIn) {
this.pluggedIn = pluggedIn;
}
/***
* Get Plugin is true or false
* @return pluggedIn
*/
public boolean isPluggedIn() {
return pluggedIn;
}
/***
* Set Manufacture
* @param manufacturer
*/
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
/***
* Get Manufacture
* @return manufacturer
*/
public String getManufacturer() {
return manufacturer;
}
/***
* Set the Color
* @param headPhoneColor
*/
public void setHeadPhoneColor(String headPhoneColor) {
this.headPhoneColor = headPhoneColor;
}
/**
* This method will return the color
* @return headPhoneColor
*/
public String getHeadPhoneColor() {
return headPhoneColor;
}
}