public interface PersonDao() { public List queryAll(); } public class PersonDaoImp() { public List<Person> queryAll() { return new List(); } }这样算是重写了PersonDao里的方法了?重写方法时不是要ctrl+c,ctrl+v么
public interface PersonDao() { public List queryAll(); } public class PersonDaoImp() implements PersonDao{ public List<Person> queryAll() { return new List(); } }忘写implements了本来是想问楼上说的擦除问题,现在迷惑了实现接口方法不叫重写么,继承才叫重写?
你的代码问题太多 我先给你改成正确的 class Person { }interface PersonDao { public List queryAll(); }class PersonDaoImp implements PersonDao { @Override public List<Person> queryAll() { return new ArrayList(); } } 我加了 @Override 编译能通过 说明这是重写 原因是java的泛型用的是是擦除法 至于什么是擦除法 上网搜
public interface PersonDao() { public List queryAll(); } public class PersonDaoImp() { public List<Person> queryAll() { return new List(); } }你的代码叫似不想 两个类根本就没有任何关系
public List<Person> queryAll() {
}
}public class PersonDaoImp extends PersonDao {
public List<Person> queryAll() {
return new List();
}
}这叫重写!
public interface PersonDao() {
public List queryAll();
}
public class PersonDaoImp() implements PersonDao{
public List<Person> queryAll() {
return new List();
}
}忘写implements了本来是想问楼上说的擦除问题,现在迷惑了实现接口方法不叫重写么,继承才叫重写?
class Person {
}interface PersonDao {
public List queryAll();
}class PersonDaoImp implements PersonDao {
@Override
public List<Person> queryAll() {
return new ArrayList();
}
}
我加了 @Override 编译能通过 说明这是重写 原因是java的泛型用的是是擦除法
至于什么是擦除法 上网搜
public interface PersonDao() {
public List queryAll();
}
public class PersonDaoImp() {
public List<Person> queryAll() {
return new List();
}
}你的代码叫似不想 两个类根本就没有任何关系