将带有值的对象传递给另一个类java

时间:2016-03-13 08:07:11

标签: java object login

我喜欢将对象的信息从我的GebruikerRepository类传递给ReservatieRepository类。

public class GebruikerRepository extends Observable {


List<Gebruiker> gebruikers;
Gebruiker aangemeldeGebruiker;
private Gebruiker huidigGebruiker;
private ObservableList<Gebruiker> oGebruikers;
private FilteredList<Gebruiker> filteredGebruikers;
DBCommunicatie databank = new DBCommunicatie();
private Email email;

所以我喜欢初始化&#34;电子邮件&#34;有人登录成功后 这发生在这个方法中:

 public void meldAan(String gebruikersnaam, String wachtwoord) {
        Gebruiker gebruiker = geefGebruiker(gebruikersnaam);
        gebruiker.controleerWachtwoord(wachtwoord);
        aangemeldeGebruiker = gebruiker;
        email= new Email();
        email.setEmailWachtwoord(wachtwoord);
        email.setVerzender(geefGebruiker(gebruikersnaam).getEmailadres());

    }

现在我想将此电子邮件对象传递给我的ReservatieRepository

    public class ReservatieRepository extends Observable {

    private Reservatie geselecteerdeReservatie;
    private ObservableList<Reservatie> reservaties;
    private ObservableList<ReservatieSpecificatie> reservatieSpecs;
    private FilteredList<Reservatie> filteredReservaties;
    private Email emailadres;
    private GebruikerRepository gebruikerRepository;

    private DBCommunicatie databank = new DBCommunicatie();

    public ReservatieRepository() {

        reservaties = FXCollections.observableArrayList(haalReservatiesOp());
        reservatieSpecs = FXCollections.observableArrayList(new ArrayList<>());
        filteredReservaties = new FilteredList<>(reservaties, p -> true);

    }

我希望在此方法中登录GebruikerRepository后使用带有初始值的传递的Email对象。 在这里,我想设置&#34; Email&#34;。

的第三个属性
 public void verwijderReservatie(Reservatie reservatie) {

    gebruikerRepository =new GebruikerRepository();
    emailadres = gebruikerRepository.geefEmail();
    emailadres.setReservatie(reservatie);
    emailadres.berichtVerwijderdReservatie();

我尝试制作一个GebruikerRepository对象并尝试使用getter来获取#34; Email&#34;宾语。但不知怎的,我总是在这里得到一个nullpointer。

emailadres.setReservatie(reservatie);

这是我的Email类的属性/构造函数。

public class Email {

private Reservatie reservatie;
private String ontvanger;
private String verzender;
private String emailWachtwoord ;


public Email(Reservatie reservatie,String verzender, String emailWachtwoord) {
    setReservatie(reservatie);
    setVerzender(verzender);
    setEmailWachtwoord(emailWachtwoord);
}

public Email(){

}
提前thx!

2 个答案:

答案 0 :(得分:0)

gebruikerRepository =new GebruikerRepository();将始终创建一个未初始化的GebruikerRepository对象,因此任何字段都将为null(除非您通过某种init()方法设置它们。

如果可能的话,您可以尝试从Reservatie本身获取与该Reservatie相对应的Gebruiker。

答案 1 :(得分:-1)

如果您需要只有一个电子邮件对象一直处于活动状态,您可以使用singleton design pattern