Java 这段代码中的错误是什么?为什么?
将Java 这段代码中的错误是什么?为什么?,java,Java,将“没有名字”更改为“没有名字”(结束语)可能在这里: String name=“No name”; 如果是: String name=“无名称” 此外,我不确定这是否是您粘贴的编辑器,但这也是错误的: Employee e=新员工(“4321”); 应该是: Employee e=new Employee(“4321”);您的empID字段不是公共字段/没有访问器方法/未将其定义为属性。如果您除了源代码和模糊的帖子标题外,绝对没有提供任何错误信息,也不要指望人们提供帮助。更改此行 String
“没有名字”
更改为“没有名字”
(结束语)可能在这里:
String name=“No name”;
如果是:
String name=“无名称”
此外,我不确定这是否是您粘贴的编辑器,但这也是错误的:
Employee e=新员工(“4321”);
应该是:
Employee e=new Employee(“4321”);
您的empID字段不是公共字段/没有访问器方法/未将其定义为属性。如果您除了源代码和模糊的帖子标题外,绝对没有提供任何错误信息,也不要指望人们提供帮助。更改此行
String name=“No name”;
致:
String name=“无名称”
检查您的结账质量。员工的构造函数必须调用其超级构造函数Person的构造函数
class Person {
String name = “No name";
public Person(String nm) { name = nm; }
}
class Employee extends Person {
String emplD = “0000”;
public Employee(String id) { empID = id; }
}
public class EmployeeTest {
public static void main(String[ ] args)
{
Employee e = new Employee(”4321”);
System.out.println(e.empID);
}
}
许多事情:
“
。而不是”
、“
或”
Person
类没有默认构造函数。因此,您必须显式调用super(“some name”);
作为Employee
构造函数的第一行(我建议添加一个以name
和employeeId
作为参数的构造函数)emplD
(小写L
字符),但尝试将其指定为empID
(大写I
字符)。您可以随意调用它,但名称需要在两个位置匹配name
和empID
属性应该是私有字段,如果外部类需要访问这些值,那么您应该提供适当的公共getter方法。换句话说,您应该能够说e.getEmpID()
您必须在“Employeesuper(id)”类的构造函数中调用超类(
Person
)的构造函数;请在下面找到正确的代码
public class Person
{
private String name;
public Person(String nm)
{
this.name = nm;
}
public String getName()
{
return this.name;
}
}
public class Employee extends Person
{
private String emplD;
public Employee(String nm, String id)
{
super(nm);
this.empID = id;
}
public String getId()
{
return this.empID;
}
}
public class EmployeeTest
{
public static void main(String[] args)
{
Employee e = new Employee("Some Name", "4321");
System.out.println(e.getID());
}
}
调用超级类构造函数可以解决这个问题
public Employee(String id) {super(id);empID =id;
为什么您认为有错误?请问一个适当的问题。我看到的一个问题是可怕的缩进。您是在文字处理器中编辑的吗?您的引号必须是正常的ascii引号,
“
表示字符串,”
表示字符。开始引号和结束引号不正确。
public class Person {
String name = "No name";
public Person(String nm) { name = nm; }
}
public class Employee extends Person {
String empID = "0000";
public Employee(String id) {
super("Some Name");
empID = id; }
}
public class EmployeeTest {
public static void main(String[] args){
Employee e = new Employee("4321");
System.out.println(e.empID);
}
}