2015-12-21 66 views
-1

我是Java新手。而从教程中学习时,我发现这个代码,我似乎无法理解这一个。为什么这里的对象在一个方法前面?

public interface ProductRepository { 
    List<Product> getAllProducts(); 

    Product getProductById(String productID); 
} 

为什么产品这是这里的方法前

+0

'Product'是方法的返回类型。您需要学习和理解基本的Java语法。 –

+0

如果我没有错误地认为它是返回类型 – Arc676

+0

它不是“在该方法的前面”,它是方法签名的一部分。这是返回型。 – Stultuske

回答

3

接口是一组具有空体的相关方法。您的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; 
    } 

} 
1

您的getProductById()方法returing Product type object。您需要了解如何在Java中定义方法。从Javadoc

更一般地,方法的声明有六个部分组成,依次是:

  1. 改性剂,如公共,私有,和其他人。

  2. 返回类型 - 方法返回值的数据类型,如果方法没有返回值,则返回void。

  3. 方法名称 - 字段名称的规则也适用于方法名称,但约定有点不同。

  4. 圆括号中的参数列表 - 以逗号分隔的输入参数列表,前面带有括号括起来的数据类型()。如果没有参数,则必须使用空括号。

  5. 例外列表。

  6. 方括号,括号之间 - 方法的代码,包括局部变量的声明,在这里。

相关问题