Video: Getters & Setters | Java | Tutorial 31 2025
Når du programmerer din Android-app med Java, kan du bruge getters og settere. I denne kode kan
UseAccount
og
UseAccountFromOutside
klasserne indstille en konto
customerName
og få kontoens eksisterende
customerName
:
konto. customerName = "Occam";
StrengenavnBackup = konto. Kundenavn;
Men hverken klassen
UseAccount
eller klassen
UseAccountFromOutside
kan tinker med et kontos
internalIdNumber
-felt.
for at kunne få en eksisterende konto
internalIdNumber
, men ikke ændre en konto
internalIdNumber >? (I mange situationer er information nødvendig, men ændring af eksisterende oplysninger er farlig.) Du kan gøre alt dette med en
getter
metode. pakke com. allyourcode. bank; offentlig klasse konto {
public String customerName;
String adresse;
String-telefon;
offentlig int socialSecurityNumber;
int kontoType;
dobbeltbalance;
offentlig statisk int findById (int internalIdNumber) {
Konto foundAccount = ny konto ();
// Kode for at finde kontoen går her.
}
offentlig int getInternalIdNumber () {
returner internalIdNumber;
}
}
Med klassen
Konto
kan en anden klasse kode kalde
int backupIdNumber = konto. getInternalIdNumber ();
feltet
konto
klassens
internalIdNumber
er stadig privat, så en anden klasses kode har ingen måde at tildele en værdi til
internalIdNumber
. Hvis du vil aktivere andre klasser til at ændre en kontos private
internalIdNumber
-værdi, kan du tilføje en setter-metode til koden, som denne:
offentligt tomrumssætInternalIdNumber (int internalIdNumber) {
dette. internalIdNumber = internalIdNumber;
}
Getter og setter-metoder er ikke indbyggede funktioner i Java - de er simpelthen almindelige Java-metoder. Men dette mønster (med en metode, hvis formål er at få adgang til et ellers utilgængeligt feltværdi) bruges så ofte, at programmererne bruger betegnelserne
getter
og setter for at beskrive den. Getter og setter metoder er accessor metoder. Java-programmører følger næsten altid konventionen om at starte et accessormetodenavn med get
eller
sæt
og derefter aktivere navnet på det felt, der skal åbnes.F.eks. Har feltet
internalIdNumber
accessors med navnet
getInternalIdNumber
og
setInternalIdNumber
. Feltet
renderingValu
e har accessors med navnet
getRenderingValue
og
setRenderingValue
.
Inden du begynder, skal du indtaste denne kode i editoren:
pakke com. allyourcode. bank;
offentlig
klassekonto {
offentlig String customerName;
privat int internIdNumber;
String adresse; String-telefon;
offentlig
int socialSecurityNumber;
int kontoType; dobbeltbalance;
offentlig
statisk int findById (int internalIdNumber) {
Konto foundAccount = ny konto (); // Kode for at finde kontoen går her.
return foundAccount. internalIdNumber;
}
}
Du kan have Android Studio oprette getters og setters til dig. Sådan gør du:
Start med din kode i Android Studio-editoren.
Klik på musemarkøren hvor som helst inde i editoren.
- Vælg Kode → Generer → Getter og Setter på hovedmenuen til Android Studio.
- Dialogboksen Vælg felter til generering af Getters og Setters vises.
- Alternativt kan du kun generere getters ved at vælge Kode → Generer → Getter. Og du kan kun generere settere ved at vælge Kode → Generer → Setter.
En dialogboks viser de felter i klassen, der vises i Android Studio's editor.
Vælg et eller flere felter i dialogboksens liste med felter.
For at oprette koden ovenfor vælger du kun feltet
- internalIdNumber
.
Alternativt kan du kun generere getters ved at vælge Kode
Klik på OK.Android Studio afviser dialogboksen og tilføjer nybrygget getter og setter-metoder til redaktørens kode.
- Vælg felter for at generere Getters og Setters.