使用 toString() 方法练习
Exercise with toString() method
我是 Java 的新手,我有一个可能很简单的问题。
我有这个代码:
public class Person {
String name;
int age;
boolean isMan;
Person(String nameParam,int ageParam,boolean isManParam) {
this.name = nameParam;
this.age = ageParam;
this.isMan = isManParam;
}
}
在另一个 demoClass 中,我初始化了 class 人的对象:
public class toStringDemo {
public static void main(String[] args) {
Person human = new Person("Jack",28,true);
}
}
我的任务是使用 toString() 方法编写一个 showPersonInfo() 方法,以便
显示初始化对象的所有三个字段..有帮助吗?
每个 Java class 始终存在 toString
方法。但是,如果您不覆盖它以指定要 return 的内容,它将默认 return "class 名称,然后是 'at' 符号,最后是 hashCode ”,类似于 Person@19821f
。更多信息 here.
所以你应该像这样覆盖 Person
中的 toString
方法(一定要改变结果 String
的味道):
@Override
public String toString() {
String s = name +", age "+age+", isMan: "+isMan;
return s;
}
然后要显示它,创建 showPersonInfo
方法:
public void showPersonInfo(){
System.out.println(this.toString()); // OR
// System.out.println(this); // Java prints the toString method by default
}
public class Person {
String name;
int age;
boolean isMan;
Person(String nameParam,int ageParam,boolean isManParam){
this.name = nameParam;
this.age = ageParam;
this.isMan = isManParam;
}
}
@Override
public String toString() {
return "name:" + this.name + ", age:" + this.age + ", isMan:" + this.isMan ;
}
public void showPersonInfo {
System.out.println(toString());
}
public class Person {
String name;
int age;
boolean isMan;
Person(String nameParam,int ageParam,boolean isManParam) {
this.name = nameParam;
this.age = ageParam;
this.isMan = isManParam;
}
@Override
public String toString() {
return "Name: " + this.name +
"\nAge: " + this.age +
"\nIs a Man?: " + this.isMan;
}
public String showPersonInfo() {
return this.toString();
}
}
在你的主要方法中:
public class toStringDemo {
public static void main(String[] args) {
Person human = new Person("Jack",28,true);
System.out.println(human.showPersonInfo());
}
}
我是 Java 的新手,我有一个可能很简单的问题。
我有这个代码:
public class Person {
String name;
int age;
boolean isMan;
Person(String nameParam,int ageParam,boolean isManParam) {
this.name = nameParam;
this.age = ageParam;
this.isMan = isManParam;
}
}
在另一个 demoClass 中,我初始化了 class 人的对象:
public class toStringDemo {
public static void main(String[] args) {
Person human = new Person("Jack",28,true);
}
}
我的任务是使用 toString() 方法编写一个 showPersonInfo() 方法,以便 显示初始化对象的所有三个字段..有帮助吗?
每个 Java class 始终存在 toString
方法。但是,如果您不覆盖它以指定要 return 的内容,它将默认 return "class 名称,然后是 'at' 符号,最后是 hashCode ”,类似于 Person@19821f
。更多信息 here.
所以你应该像这样覆盖 Person
中的 toString
方法(一定要改变结果 String
的味道):
@Override
public String toString() {
String s = name +", age "+age+", isMan: "+isMan;
return s;
}
然后要显示它,创建 showPersonInfo
方法:
public void showPersonInfo(){
System.out.println(this.toString()); // OR
// System.out.println(this); // Java prints the toString method by default
}
public class Person {
String name;
int age;
boolean isMan;
Person(String nameParam,int ageParam,boolean isManParam){
this.name = nameParam;
this.age = ageParam;
this.isMan = isManParam;
}
}
@Override
public String toString() {
return "name:" + this.name + ", age:" + this.age + ", isMan:" + this.isMan ;
}
public void showPersonInfo {
System.out.println(toString());
}
public class Person {
String name;
int age;
boolean isMan;
Person(String nameParam,int ageParam,boolean isManParam) {
this.name = nameParam;
this.age = ageParam;
this.isMan = isManParam;
}
@Override
public String toString() {
return "Name: " + this.name +
"\nAge: " + this.age +
"\nIs a Man?: " + this.isMan;
}
public String showPersonInfo() {
return this.toString();
}
}
在你的主要方法中:
public class toStringDemo {
public static void main(String[] args) {
Person human = new Person("Jack",28,true);
System.out.println(human.showPersonInfo());
}
}