我是Java新手。在学习教程时,我发现了这段代码,但我似乎无法理解这段代码。
public interface ProductRepository {
List<Product> getAllProducts();
Product getProductById(String productID);
}
为什么产品是域在这里的方法前面?
接口是一组具有空实体的相关方法。getProductById
方法返回一个Product
对象。
有关详细信息,请参阅:https://docs.oracle.com/javase/tutorial/java/concepts/interface.html
你可以这样实现你的界面:
public class CustomProductRepository implements ProductRepository {
@Override
public List<Product> getAllProducts() {
return new ArrayList<Product>();
}
@Override
public Product getProductById(String productId) {
for (Product p : getAllProducts()) {
if (p.getProductId().equals(productId)) {
return p;
}
}
return null;
}
}
您的getProductById()
方法正在返回Product
类型的对象。您需要了解如何在Java
中定义方法。来自Java
文档。
更一般地说,方法声明有六个组件,按顺序排列:
-
修饰符--例如公共、私有和其他。
-
返回类型——方法返回的值的数据类型,如果方法没有返回值,则返回void。
-
方法名称——字段名称的规则也适用于方法名称,但约定有点不同。
-
括号中的参数列表--以逗号分隔的输入参数列表,前面是它们的数据类型,后面是括号,()。如果没有参数,则必须使用空括号。
-
异常列表。
-
方法体,被括在大括号之间——方法的代码,包括局部变量的声明,在这里。