下面这个程序有错误,一是提示“Test.java:63: 错误: 进行语法分析时已到达文件结尾
}”, 但是我检查了一下,也没有缺少“}”呀,另外,运行提醒未覆盖抽象类所有方法,但是我觉得覆盖不了,我查了一下百度,说可以空实现,请问我这个程序怎样空实现抽象类中的方法?
import java.util.*;
public class Test
{
public static void main(String[] args)
{
Employee[] employee = new Employee[2];
employee[0] = new A("ert", "computer");
employee[1] = new B("rty", 5000);
for(Employee i: employee)
{
System.out.println(i.getName()+","+i.getMajor()+","+i.getSalary());
}
}
}
abstract class Employee
{
private String name;
public Employee(String n)
{
name = n;
}
public String getName()
{
return name;
}
public abstract String getMajor();
public abstract double getSalary();
}
class A extends Employee
{
private String major;
public A(String n, String m)
{
super(n);
major = m;
}
public String getMajor()
{
return major;
}
class B extends Employee
{
private double salary;
public B(String n, double x)
{
super(n);
salary = x;
}
public double getSalary()
{
return salary;
}
}
------解决方案--------------------
class A extends Employee
{
private String major;
public A(String n, String m)
{
super(n);
major = m;
}
public String getMajor()
{
return major;
}//这里少个括号
}
------解决方案--------------------
类A的getMajor方法少了一个“}”;
类A和B都少了一个实现的方法
------解决方案--------------------
就是没有具体的方法体。
------解决方案--------------------
空实现就是{}内什么都不写
------解决方案--------------------
楼主,看红色字体,你这个方法的返回值是double的,方法要有返回值,
可以这么写 public void getSalary{
}
试试
楼主别忘了结贴
