请参阅下面的代码以获取我的问题示例:
class Person
{
private String name;
public
String toString()
{
return this.name;
}
}
class Student extends Person
{
private int no_of_courses;
public
@Override String toString() { return "Student " + super.toString(); }
}
class SuperDemo
{
public static void main(String[] args)
{
Person p = new Student("ABC,"XYZ");
System.out.println(p.toString());
}
}
我们可以在派生类中重写超类的公共方法吗? Person类具有构造函数:
Person(String name)
Student类具有构造函数:
Student(String name) { super(name); }
答案 0 :(得分:4)
是。当您从toString()
覆盖Object
时,您已经自然地这样做了。
你无法覆盖:
final
static
private
您也无法降低重写方法的可见性;也就是说,您无法将public
方法覆盖为protected
方法。