【发布时间】:2017-10-07 05:59:46
【问题描述】:
假设我们有 2 个类:
public class A {
private String name = "A";
public String toString()
{
return (name + "some random text");
}
}
public class B extends A{
private String name = "B";
public String toString()
{
return (super.toString());
}
}
当我尝试在我的驱动程序类中打印 B.toString() 时,它仍然会打印 A 类的名称而不是 B 类的名称。如何更改它以便它使用 B 类的变量名?
【问题讨论】:
-
1.删除
private String name = "B";2. 在类A上添加一个构造函数来设置名称。 3. 在 B 类中添加一个构造函数,该构造函数调用超级构造函数,并将“B”作为 name 的值传递......原因:调用super.toString()将使用 A 类中定义为“A”的 name 变量
标签: java inheritance parent-child tostring