Publieke klassevelden
Tot nu toe heb je in deze cursus eigenschappen en methoden gemaakt zonder toegangsmodifiers te specificeren. Je gaat nu expliciet de public-toegangsmodifier op de juiste eigenschappen in je code zetten.
OPMERKING: In Java zijn eigenschappen zonder expliciete toegangsmodifier standaard package-private, wat toegang biedt vergelijkbaar met public. Ook kan er per bestand maar één klasse expliciet als public worden gemarkeerd.
Deze oefening maakt deel uit van de cursus
Introductie tot objectgeoriënteerd programmeren in Java
Oefeninstructies
- Maak de eigenschappen
modelenyearvan de klasseCarpublic door depublic-toegangsmodifier toe te voegen. - Maak zowel de methoden
turnEngineOnalscalculateMPGpublic door depublic-toegangsmodifier toe te voegen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
public class Main {
static class Car {
public String color;
// Make "model" and "year" public
____ String model;
____ int year;
Car(String color, String model, int year) {
this.color = color;
this.model = model;
this.year = year;
}
// Make "turnEngineOn" method public
____ void turnEngineOn() {
System.out.println("engine is on");
}
// Make "calculateMPG" method public
____ int calculateMPG(int milesDriven, int gallonsUsed) {
return milesDriven / gallonsUsed;
}
}
public static void main(String[] args) {
Car myCar = new Car("red", "camry", 2022);
System.out.println(myCar.calculateMPG(180, 20));
}
}