gpt4 book ai didi

java - 初级 Java 面向对象编程

转载 作者:行者123 更新时间:2023-12-02 05:27:03 24 4
gpt4 key购买 nike

我正在开发一个简单的 Dog 类来创建狗对象并显示结果。

Dog
_________

int - size
String - breed;
String - name;

__________

Dog(int, String, String)
bark()
bark(int)
toString(): String
print()

我已经使用 getter 和 setter 成功创建了该类,但我的问题是 toString 和 print 方法。我知道 toString 方法应该返回一个包含狗详细信息的字符串,但不知道如何打印它们。

理论上我可以这样打印:

Dog a = new Dog ();
String details = a.toString();
System.out.println(details);

但这并不是 UML 规范中指定的方式。

toString 方法应该调用 print 方法本身吗?如果是这样,怎么办?

狗类:

class Dog{
private int size;
private String breed;
private String name;


//Create getter and setter methods:
public void setName (String name){
this.name = name;
}

public void setSize (int size){
this.size = size;
}

public void setBreed (String breed){
this.breed = breed;
}

public int getSize () {
return this.size;
}

public String getBreed () {
return this.breed;
}

public String getName () {
return this.name;
}

public void bark () {
System.out.println("Ruff! Ruff!");
}

public void bark (int amtOfBarks){
for (int i = 0; i < amtOfBarks; i++){
System.out.print("Ruff! Ruff! ");
}
}


public String toString () {
return "Name: "+this.name+"\nBreed: "+this.breed+"\nSize: "+this.size;
}



}

主要方法:

class TestDog {
public static void main (String [] args){

Dog rex = new Dog();
rex.setName("Rex");
rex.setBreed("poodle");
rex.setSize(1);

rex.toString();



rex.bark(3);
}
}

最佳答案

从类结构图中,print() 方法应调用 System.out.println(this);

注意:toString() 将被隐式调用。在System.out.println

关于java - 初级 Java 面向对象编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25908287/

24 4 0
文章推荐: java - 为什么要创建 List