Class fields แบบ public
ตลอดคอร์สนี้ เราได้สร้าง property และ method โดยไม่ได้ระบุ access modifier อย่างชัดเจน ในแบบฝึกหัดนี้ จะได้ฝึกระบุ access modifier แบบ public ให้กับ property ที่เหมาะสมในโค้ด
หมายเหตุ: ใน Java หาก property ไม่ได้ระบุ access modifier จะมีค่าเริ่มต้นเป็น package-private ซึ่งมีสิทธิ์การเข้าถึงคล้ายกับ public นอกจากนี้ ในแต่ละไฟล์จะมีได้เพียงหนึ่ง class เท่านั้นที่ระบุเป็น public ได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Java เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ
คำแนะนำการฝึกหัด
- เพิ่ม access modifier
publicให้กับ propertymodelและyearของ classCar - เพิ่ม access modifier
publicให้กับ methodturnEngineOnและcalculateMPGทั้งสองตัว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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));
}
}