抱歉,如果这是一个重复的问题,如果您碰巧有答案或其他帖子,请告诉我,我将删除它。然而,我试图找到文档并回答这个问题,所以如果有人能为我解释代码,我将非常感激。我不知道这是否是问题的正确结构。
我有一个名为:persondao.java 的类,其代码如下:
public interface PersonaDao {
**public List<Person> showPerson();**
public void insertPerson (Person person);
}
其次,我有实现该接口(interface)的类,如下所示:
public class PersonaDaoImplement implements PersonaDao {
@Override
public List<Person> showPersonas() {
Session session = null;
List<Person> lista = null;
try {
session = HibernateUtil.getSessionFactory().openSession();
Query query = session.createQuery("from Person");
lista = (List<Person>) query.list();
}
catch (HibernateException e) {
System.out.println(e.getMessage());
} finally {
if (session != null) {
session.close();
}
}
return lista;
}//end
<小时/>
那么在接口(interface)类中声明方法时正确的方法或语法是什么?
如你所见,它得到了 public List showPerson();所以它是:[访问修饰符] LIST 然后??????
我问这个是因为使用列表,我看到了许多使用“正确方式”以下行的示例:
List<Object> list = new ArrayList<Object>();
但在 persondao.java 类中有以下行:
public List<Person> showPerson();
第一个问题是什么>>>>正确的方法、语法和一个很好的例子是什么?
我完全困惑了,因为另一个声明中不存在旁边的方法,那么这是另一种类型的实用程序吗?
之后的List<Person> [here it goes any method I want]
我很困惑如何使用这种类型的列表,有人可以向我解释一下吗?
问候,
最佳答案
(我假设您的问题与方法重载有关)
当 java 看到一个方法调用时,它会通过方法名称和参数(参数的数量及其类型)“追踪”正确的方法。
您的接口(interface)声明以下方法:
public List<Person> showPerson()
其名为 showPerson
并且没有参数。
你的类声明它重写了一个名为 showpersonas
的方法:
@Override
public List<Person> showPersonas() {...}
这是一种未知的方法。
查看有关重载方法的更多信息 here
关于java - java中hibernate使用的java列表接口(interface)的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26321951/