Java:无法从实例的其他地方调用实例的get方法

时间:2019-05-05 19:20:11

标签: java object methods instance

我实例化一个“ patientModel”,并希望使用Controller类来调用PatientModel.getPatientIdentification并将其显​​示在View类中。

我在第一个到达的控制器中实例化模型,并调用getPatientIDentification。然后,我切换到另一个控制器并查看,并希望执行相同的操作,但是该实例不会继承。

public class patientModel {
    public static databaseConnectorController patientModel;
    // Klassen har attributterne fornavn, efternavn og cpr-nummer
    private String firstName;
    private String lastName;
    private String CPRNumber;

    public patientModel(String firstName, String lastName, String CPRNumber){
        this.setFirstName(firstName);
        this.setLastName(lastName);
        this.setCPRNumber(CPRNumber);
    }

    public String getPatientIdentification() {return firstName + " " + lastName + ", CPR: " + CPRNumber;}
}

在第一个控制器中:

    @Override
    public void initialize(URL location, ResourceBundle resources) {
        System.out.println("Initialiser medicineList");
        patientModel chosenPatient = new patientModel("Tobias", "Duncker", "3003965678");
IDTitledPaneMedicineList.setText(chosenPatient.getPatientIdentification());
    }

在第二个控制器中,出现问题:

    @Override
    public void initialize(URL location, ResourceBundle resources) {
        System.out.println("Initialiser prescriptionView");
IDTitledPanePrescription.setText(chosenPatient.getPatientIdentification());
    }

1 个答案:

答案 0 :(得分:0)

我最终通过在我的PatientModel上实现了Singleton模式来解决了这个问题。这确保了我可以从所有其他类中获取getInstance,从而确保它始终获得PatientModel可能存在的唯一实例,从而确保我永远不会得到错误的实例(因为只有一个实例)。