JAVA, GET SET METHODEN

Deze vraag is eerder gevraagd, maar zelfs na het lezen:

Java “Get” en “Set” -methoden

Java Get / Set Methode Retourneert null

En meer begrijp ik nog steeds niet hoe ik mijn probleem kan oplossen.

Bij toegang tot variabelen in een klasse met behulp van de werkwijzen van een andere klasse ontvang ik de waarde null.

Hoe ontvang ik mijn juiste waarden in plaats van null?


Dit is de klas waar ik probeer mijn variabelen te krijgen (niet alles inbegrepen).

public class RLS_character_panel extends javax.swing.JPanel implements ActionListener, ItemListener { 
    private String name1 = "hello"; 
    public String getName1() { 
        return name1; 
    } 
    public void setName1(String name1) { 
        this.name1 = name1; 
    } 
} 

Dit is de klas waar ik probeer de waarden te krijgen. Deze klasse breidt JFrame uit, zodat ik een JPanel kan toevoegen die de variabele weergeeft. (Het JPanel is nog een andere klasse genaamd: rls_strid_panel, die op dit frame wordt toegevoegd).

public class RLS_strid_java extends JFrame { 
    RLS_character_panel test = new RLS_character_panel(); 
    String name1 = test.getName1(); 
    RLS_strid_panel p = new RLS_strid_panel(namn1); 
    // constructor
    public RLS_strid_java(String titel) { 
        super(titel); 
        this.setSize(1000, 772); 
        this.setVisible(true); 
        this.setResizable(false); 
        this.add(p); 
    } 
}

Het JPanel geeft null weer.


Antwoord 1, Autoriteit 100%

Om krijgen en instellen te begrijpen, heeft het allemaal te maken met hoe variabelen worden doorgegeven tussen verschillende klassen.

De get-methode wordt gebruikt om een bepaalde variabelewaarde uit een klasse te verkrijgen of op te halen.

Een ingestelde waarde wordt gebruikt om de variabelen op te slaan.

Het hele punt van get en set is om de gegevenswaarden dienovereenkomstig op te halen en op te slaan.

Wat ik in dit oude project deed, was dat ik een User-klasse had met mijn get en set-methoden die ik in mijn Server-klasse gebruikte.

De get set-methoden van de klasse User:

public int getuserID()
    {
        //getting the userID variable instance
        return userID;
    }
    public String getfirstName()
    {
        //getting the firstName variable instance
        return firstName;
    }
    public String getlastName()
    {
        //getting the lastName variable instance
        return lastName;
    }
    public int getage()
    {
        //getting the age variable instance
        return age;
    }
    public void setuserID(int userID)
    {
        //setting the userID variable value
        this.userID = userID;
    }
    public void setfirstName(String firstName)
    {
        //setting the firstName variable text
        this.firstName = firstName;
    }
    public void setlastName(String lastName)
    {
        //setting the lastName variable text
        this.lastName = lastName;
    }
    public void setage(int age)
    {
        //setting the age variable value
        this.age = age;
    }
}

Vervolgens werd dit als volgt geïmplementeerd in de methode run()in mijn Server-klasse:

//creates user object
                User use = new User(userID, firstName, lastName, age);
                //Mutator methods to set user objects
                use.setuserID(userID);
                use.setlastName(lastName);
                use.setfirstName(firstName);               
                use.setage(age); 

Antwoord 2

Uw paneelklasse heeft geen constructeur die een string

accepteert

Probeer wijzigen

RLS_strid_panel p = new RLS_strid_panel(namn1);

Naar

RLS_strid_panel p = new RLS_strid_panel();
p.setName1(name1);

Other episodes