日期:2014-05-20  浏览次数:20637 次

什么叫方法的空实现?
下面这个程序有错误,一是提示“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都少了一个实现的方法
------解决方案--------------------
就是没有具体的方法体。
------解决方案--------------------
空实现就是{}内什么都不写
------解决方案--------------------
引用:
如果在{}里面什么也不写,会出现这种错误提示“缺少返回语句”。在A类中我是这样加的
public double getSalary()
{

}


楼主,看红色字体,你这个方法的返回值是double的,方法要有返回值,
可以这么写 public void getSalary{

}
试试

楼主别忘了结贴