2013-05-13 87 views
0

我想我理解如何使用.classClass<>但我猜不是。下面的super(ApprovalWorkstation.class未映射到構造函數。我怎樣才能確定我傳遞了一個類引用,以便基地WorkstationRequest可以實例化它?如何實例化一個通用類

public class ApprovalWorkstation extends Workstation { 

    public ApprovalWorkstation(WorkstationEntity entity) { 
     super(entity); 
    } 
} 

public class WorkstationRequest extends com.production.socket.request.WorkstationRequest { 
    public WorkstationRequest() { 
     super(ApprovalWorkstation.class); //unable to map to constructor 
    } 
} 

這是頭頂

public class WorkstationRequest { 
    private Class<Workstation> workstationClass; 

    public void WorkstationRequest(Class<Workstation> workstationClass) { 
     this.workstationClass = workstationClass; 
    } 

更新

我的混亂對不起擴展底座WorkstationRequest,我的構造函數實際上有Class<Workstation>而不是Workstation,我最初有。

+1

'Workstation'和'類'不一樣的。目前還不清楚你想要做什麼。 – 2013-05-13 17:20:54

+1

最後一段代碼錯誤,您無法將'Workstation'實例分配給'Class '變量。 – hoaz 2013-05-13 17:21:42

+0

難道你不能傳入一個對象,並從中獲得類? – christopher 2013-05-13 17:24:01

回答

4

爲了能夠同時通過Workstation類和它的子類,你應該改變的WorkstationRequest定義如下:

public class WorkstationRequest { 
    private Class<? extends Workstation> workstationClass; 

    public WorkstationRequest(Class<? extends Workstation> workstationClass) { 
     this.workstationClass = workstationClass; 
    } 
} 
+0

雖然我需要'?延伸「,我也有一個返回值'void',這意味着它不是構造函數 – Webnet 2013-05-13 18:08:46

+0

oops,複製粘貼岩石。固定 – hoaz 2013-05-13 18:09:46

0

如果我錯了,請糾正我,但您傳遞的是Workstation實例,而需要的是Class<Workstation>。也許用workstationClass.getClass()代替?

0

您正在嘗試將Worstation的實例分配給Class<Workstation>類型的字段,該字段顯然不相同。

什麼你可能要做的是:

public WorkstationRequest(Class<Workstation> workstationClass) { 

當然有在構造函數沒有返回類型(void)。您的「構造」是一個簡單的方法:

public void WorkstationRequest(Class<Workstation> workstationClass) { // method 
public  WorkstationRequest(Class<Workstation> workstationClass) { // constructor 
+0

拍,我很抱歉...'類'是我所擁有的。我正忙着嘗試其他方法來努力工作。 – Webnet 2013-05-13 17:22:52

0
  1. 沒有構造函數一個Class作爲基礎WorkstationRequest類的參數。
  2. 建設者沒有返回類型,所以public void WorkstationRequest需要更改爲public WorkstationRequest
相關問題