Java 如何使用toString、getter和setter方法

Java 如何使用toString、getter和setter方法,java,string,overriding,Java,String,Overriding,我正按照下面的说明乘公共汽车。我不知道如何使用toString()方法打印数据值。我也不知道如何将颜色打印为字符串,表示“黑色”或“蓝色”。我不知道如何使用布尔值来表示“已连接”或“已断开连接” 创建一个名为heephone的Java类来表示耳机集。该类包含: •三个常量,分别命名为低、中、高,值分别为1、2和3 表示耳机音量 •一个名为volume的私有int数据字段,用于指定 耳机。默认卷是中等卷 •名为pluggedIn的专用布尔数据字段,用于指定 耳机已插入。如果为false,则为默认值

我正按照下面的说明乘公共汽车。我不知道如何使用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 颜色:蓝色 目前:已连接 音量设置为:低
当前正在播放古典音乐播放列表

您可以覆盖要打印的对象的
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;
}

}