2015-12-21 25 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. 方括號,括號之間 - 方法的代碼,包括局部變量的聲明,在這裏。

相關問題