...
Dersom man deklarerer et felt, en metode etc. som private, er det kun mulig å hente/forandre/kalle på denne ressursen direkte i klassen.
Merk at verdiene til private felt fortsatt kan hentes gjennom en getter eller forandres med en setter.
Code Block |
---|
language | java |
---|
title | Private modifier |
---|
linenumbers | true |
---|
| package constructions;
public class Room {
private int size;
private String color;
private House house;
public Room(int size, String color) {
this.size = size;
this.color = color;
}
private void setHouse(House h) {
// Dette er en setter
this.house = h;
}
int getSize() {
// Dette er en getter
return this.size;
}
} |
| Code Block |
---|
language | java |
---|
title | Private modifier |
---|
linenumbers | true |
---|
| package constructions; // House og Room ligger i samme pakke
public class House {
Room[] rooms;
int size;
public House (Room[] rooms) {
this.rooms = rooms;
for (int i = 0; i < rooms.length; i++) {
this.size += rooms[i].getSize();
// Her må vi bruke getteren. Vi får ikke tilgang
// til feltet "size" om vi prøver rooms[i].size
rooms[i].setHouse(this); // UGYLDIG KODE!
// setHouse er nå private, og vi kan ikke bruke
// metoden i House-klassen.
}
}
} |
|
---|
Public
Dersom man deklarerer et felt, en metode etc. som public, er det mulig for alle som vet om ressursen å hente/forandre/kalle på den.
...