2015-04-29 3 views
0

Привет всем Я работаю над кодом Java для здоровья учащихся. то, что я пытаюсь сделать, этоМетод конструктора инкапсуляции Java

A) Сделать метод конструктора, который инициализирует только первые 2 поля данных (имя и дата рождения). Также увеличьте поле данных счетчика пациента.

B) Во-вторых, создайте метод конструктора, который инициализирует все поля данных. Также увеличьте поле данных счетчика пациента.

Если я правильно помню, чтобы создать метод-конструктор, который инициализирует первые две переменные (в этом случае имя и DOB), он выглядит примерно так.

public emr (String name, Long dob){ 

Однако, когда я положил, что в моем классе ОГО мой основной метод приходит с ошибками говорят «конструктор класс ЭЙ не может быть применена к данным типам»

В моем основном методе, который я

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"); 

} 

} 

Это мой ОГО код класса

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

Ну, вы не показываете этот конкретный конструктор и не видите, где вы пытаетесь его использовать. BTW, вы должны следовать соглашениям об именах Java при именовании 'YourClass'. – ChiefTwoPencils

ответ

1

Если вы не написать конструктор, общественное сотрудничество По умолчанию создается nstructor без аргументов.

Этот конструктор по умолчанию является конструктором, который вы используете в main, когда вы пишете new emr().

Однако, когда вы пишете свой собственный конструктор, конструктор по умолчанию не будет создан, поэтому main больше не будет компилироваться. Если вы хотите, чтобы main продолжал компиляцию даже после того, как вы написали новый конструктор, вам также придется написать второй конструктор без аргументов.

+0

Извините, это мой первый раз, когда я использовал конструктор, поэтому я не уверен, что это значит. Я в конечном итоге использую конструктор для отображения Имя, дата рождения, причина для посещения. жизнеспособность (температура тела, сердцебиение) диагностика. предписанные лекарства. – JL2284

Смежные вопросы