Tôi biết đó không phải là phương pháp mã hóa tốt để khai báo phương thức là private
trong lớp học abstract
. Mặc dù chúng tôi không thể tạo một thể hiện của lớp học abstract
, tại sao trình sửa đổi truy cập private
có sẵn trong lớp học abstract
và phạm vi của nó trong lớp học abstract
là gì? Trong trường hợp nào là thông số truy cập private
được sử dụng trong lớp học abstract
?Tại sao có một công cụ sửa đổi truy cập riêng trong một lớp trừu tượng trong Java, mặc dù chúng ta không thể tạo một thể hiện của một lớp trừu tượng?
kiểm tra mã này khi lớp Vehicle
trừu tượng và Car
mở rộng Xe.
package com.vehicle;
abstract class Vehicle {
// What is the scope of the private access modifier within an abstract class, even though method below cannot be accessed??
private void onLights(){
System.out.println("Switch on Lights");
}
public void startEngine(){
System.out.println("Start Engine");
}
}
Trong vòng là gói cùng tạo ra một lớp Car
package com.vehicle;
/*
* Car class extends the abstract class Vehicle
*/
public class Car extends Vehicle {
public static void main(String args[]){
Car c = new Car();
c.startEngine();
// Only startEngine() can be accessed
}
}
bạn đã thuyết phục tôi! – JerryGoyal