我想覆盖toString()方法以显示用户名,但Name是User类的内部类,所以我该如何打印它。
public class User
{
public static class Name
{
private String _first, _last;
public String getFirst() { return _first; }
public String getLast() { return _last; }
public void setFirst(String s) { _first = s; }
public void setLast(String s) { _last = s; }
}
private Name _name;
public Name getName() { return _name; }
public void setName(Name n) { _name = n; }
@Override
public String toString()
{
return "";//How to print first name and last name here
}
}
答案 0 :(得分:1)
试试这个
@Override
public String toString() {
return _name.getFirst()+_name.getLast();
}
答案 1 :(得分:1)
怎么样
public String toString()
{
Name name = getName();
return name.getFirst() + " " + name.getLast();
}
答案 2 :(得分:1)
试试这个:
@Override
public String toString()
{
String a = getName()._first;
String b = getName()._last;
return "a: " + a + " :: b: " + b;//How to print first name and last name here
}
User user = new User();
User.Name name = new User.Name();
name.setFirst("first name");
name.setLast("last name");
user.setName(name);
System.out.println(user);
答案 3 :(得分:0)
如果您想返回例如John Deer
,可以尝试以下代码:
@Override
public String toString()
{
return _name.getFirst().concat(" ").concat(_name.getLast());
}
concat(string str)将字符串str
附加到调用它的String对象的末尾。
您可以在链接上阅读更多相关信息。
上面提供的代码段会从First Name
读取_name
,在其后面附加一个空格,然后在最后一个字符串上附加Last name
。
答案 4 :(得分:0)
@Override
public String toString()
{
return _name.getFirst() + " " + _name.getLast();
}
这样打电话。
public class MyMain {
public static void main(String[] args) {
User.Name name = new Name();
name.setFirst("Clement");
name.setLast("Alexandria");
User user = new User();
user.setName(name);
System.out.println(user);
}
}