接口:
package com.mq.jcyk.clas.service;import com.mq.jcyk.clas.action.ClasDto;public interface ClasService
{
public void createStudent(ClasDto dto);
}
实现:package com.mq.jcyk.clas.service.impl;import java.util.Map;import com.mq.jcyk.clas.dao.ClasDao;
import com.mq.jcyk.clas.service.ClasService;
import com.mq.jcyk.pojo.Student;
import com.mq.jcyk.util.BruceTool;public class ClasServiceImpl implements ClasService
{
private ClasDao clasDao; Map<String, Object> queryParams = null; public ClasDao getClasDao() {
return clasDao;
} public void setClasDao(ClasDao clasDao) {
this.clasDao = clasDao;
} @Override
public void createStudent(ClasDto dto) {
Student student = new Student();
student.setSid(BruceTool.getPrimaryKey());
student.setStudentName(dto.getStudent().getStudentName());
student.setAge(dto.getStudent().getStudentAge());
student.setGender(dto.getStudent().getStudentGender());
student.setAddress(dto.getStudent().getStudentAddress());
clasDao.createStudent(student); }}
报错:The type ClasServiceImpl must implement the inherited abstract method ClasService.createStudent(ClasDto)
这是为什么呢,接口定义的方法不是已经实现了吗?
package com.mq.jcyk.clas.service;import com.mq.jcyk.clas.action.ClasDto;public interface ClasService
{
public void createStudent(ClasDto dto);
}
实现:package com.mq.jcyk.clas.service.impl;import java.util.Map;import com.mq.jcyk.clas.dao.ClasDao;
import com.mq.jcyk.clas.service.ClasService;
import com.mq.jcyk.pojo.Student;
import com.mq.jcyk.util.BruceTool;public class ClasServiceImpl implements ClasService
{
private ClasDao clasDao; Map<String, Object> queryParams = null; public ClasDao getClasDao() {
return clasDao;
} public void setClasDao(ClasDao clasDao) {
this.clasDao = clasDao;
} @Override
public void createStudent(ClasDto dto) {
Student student = new Student();
student.setSid(BruceTool.getPrimaryKey());
student.setStudentName(dto.getStudent().getStudentName());
student.setAge(dto.getStudent().getStudentAge());
student.setGender(dto.getStudent().getStudentGender());
student.setAddress(dto.getStudent().getStudentAddress());
clasDao.createStudent(student); }}
报错:The type ClasServiceImpl must implement the inherited abstract method ClasService.createStudent(ClasDto)
这是为什么呢,接口定义的方法不是已经实现了吗?
有两种原因
第一,你改成这样子,但是没有save文件,编译器还是报错
第二,你贴出来的代码跟源码不一致,源码可能多个空格或者是什么拼写错误
而JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override修改你的eclipse指定的编译器版本
在选项里的java compiler中指定版本至少在5.0以上