2015-04-29 119 views
0

大家好我正在爲學生健康的java代碼工作。我試圖做的是Java封裝構造函數方法

A)建立一個構造函數方法,只初始化前2個數據字段 (姓名和出生日期)。另外,增加患者計數器數據字段。

B)其次建立一個初始化所有數據字段的構造方法。另外,增加患者計數器數據字段。

如果我記得正確的做一個構造函數方法來初始化前兩個變量(在這種情況下名稱和DOB),它是這樣的。

public emr (String name, Long dob){ 

然而,當我把我的EMR類我的主要方法,想出了錯誤說「構造EMR類不能被應用到給定類型」

在我的主要方法我有

package studenthealthservices; 

public class Studenthealthservices { 

public static void main(String[] args) { 
    emr p1 = new emr(); 

    p1.setName("Colin"); 

    emr p2 = new emr(); 
    p2.setName("Anquan"); 

    emr p3 = new emr(); 
    p3.setName("Buster"); 

    emr p4 = new emr(); 
    p4.setName("Hunter"); 

    emr p5 = new emr(); 
    p5.setName("Nori"); 

} 

} 

這是我的EMR類代碼

package studenthealthservices; 

public class emr { 

private String name; 
private Long dob; 
private String rfv; 
private double bodyt; 
private double hr; 
private String diag; 
private String pmeds; 

public void setName(String name) { 
    this.name = name; 
} 

public Long getDob() { 
    return dob; 
} 

public void setDob(Long dob) { 
    this.dob = dob; 
} 

public String getRfv() { 
    return rfv; 
} 

public void setRfv(String rfv) { 
    this.rfv = rfv; 
} 

public double getBodyt() { 
    return bodyt; 
} 

public void setBodyt(double bodyt) { 
    this.bodyt = bodyt; 
} 

public double getHr() { 
    return hr; 
} 

public void setHr(double hr) { 
    this.hr = hr; 
} 

public String getDiag() { 
    return diag; 
} 

public void setDiag(String diag) { 
    this.diag = diag; 
} 

public String getPmeds() { 
    return pmeds; 
} 

public void setPmeds(String pmeds) { 
    this.pmeds = pmeds; 
} 

} 
+0

那麼,你不會顯示具體的構造函數,也不會看到你嘗試使用它的地方。順便說一句,在命名'YourClass'時,你應該遵循Java命名約定。 – ChiefTwoPencils

回答

1

如果你不寫一個構造函數,一衆合沒有參數的nstructor是默認創建的。

當您編寫new emr()時,此默認構造函數是您在main中使用的構造函數。

但是,當您編寫自己的構造函數時,將不會創建默認構造函數,因此main將不再編譯。如果您希望main即使在您編寫新的構造函數後仍繼續編譯,您還必須編寫另一個不帶參數的構造函數。

+0

對不起,這是我第一次使用構造函數,所以我不確定這是什麼意思。我將最終使用構造函數來顯示 名稱,出生日期,訪問原因。 生命體徵(體溫,心率) 診斷。 處方藥。 – JL2284