我的子类中的显示方法不起作用。它给出了错误: Customer.java:17:错误:找不到符号 super 显示(); ^ 符号:方法display() 1 错误 要求或打印对象数据。
import java.util.Scanner;
public class Person
{
private String name;
private String address;
private String number;
public Person() //No Argument constructor//
{
name= "";
address= "";
number= "" ;
}
public Person(String num, String nam, String add) //Explicit value constructor//
{
number= num;
name= nam;
address= add;
}
public String getName() //Accessor method//
{
return name;
}
public void setName(String name )//Mutator method//
{
this.name= name;
}
public String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address= address;
}
public String getTelephoneNumber()
{
return number;
}
public void setNumber(String number)
{
this.number= number;
}
public String toString ()
{
return name + "\n" + address + "\n" + number;
}}
子类
public class Customer extends Person
{
public Customer(String num, String nam, String add)
{
super (num, nam, add);
}
public boolean checkResponse(char response)
{
if (response == "Y")
{return true;}
return false;
}
}
public void display()
{
super.display();
}
}
最佳答案
在这里:
public class Customer extends Person {
String number=""; // you forgot the type declaration
请注意,父类(super class)中声明的 number
属性在此类中不可见,因为它是私有(private)
。一种可能的解决方案是将属性声明为类 Person
中的 protected 属性:
protected String number;
…但无论如何,您无法像在类 Customer
中那样初始化它们(为此使用构造函数)。而且除了不必要之外,父类(super class)已经初始化了它们。
关于java - 继承程序出现编译器错误 58,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20135789/