2017-07-06 45 views
-2

我想創建一個基本的Item類層次結構。 每個Item都將有一個字符串名稱和一個int itemID。 這些變量將在Item的每個子類中設置。 Item類聲明Item (公共類Hammer extends Item)的兩個變量和每個子類將設置名稱和itemID。 例如,name =「hammer」和itemID = 01. 我該如何有效且高效地做到這一點?如何創建有效的類層次結構

+0

你嘗試過這麼遠嗎? –

+1

「有效且有效」意味着什麼?請花一些時間閱讀[問]。這樣你會得到更好的結果。也許開始閱讀java教程-https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html – OldProgrammer

+0

您可以將變量放入超類,所有項目共享的所有小方法和所有項目都可以聯合使用項目類 –

回答

0

基類將聲明兩個最終的專用字段(name和itemid)。 這些值將通過基類構造函數設置。

每個派生類將使用適當的名稱和itemid值調用基類構造函數。

例如:

public abstract class Blam 
{ 
    private final int itemId; 
    private final String name; 

    protected(
     final int itemId, 
     final String name) 
    { 
     this.itemId = itemId; 
     this.name = name; 
    } 
} 


public class Derived 
extends 
    Blam 
{ 
    public Derived() 
    { 
     super(123, "nameValue"); 
    } 
} 
+0

你的代碼的輕微修改使我在需要的地方。我打算在Java上寫一兩本書,因爲面向對象是主要的「賣點」。就目前而言,我很欣賞快速回答。 – Curt15pb