Почему в абстрактном классе в Java есть модификатор закрытого доступа, хотя мы не можем создать экземпляр абстрактного класса?
Я знаю, что это плохая практика кодирования - объявлять метод какprivate
вabstract
учебный класс. Хотя мы не можем создать экземплярabstract
класс, почемуprivate
модификатор доступа, доступный вabstract
класс, и какова область его действия вabstract
учебный класс? В каком сценарииprivate
спецификатор доступа, используемый вabstract
учебный класс?
проверить этот код, гдеVehicle
класс абстрактный иCar
Удлиняет Автомобиль.
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");
}
}
В том же пакете создается класс 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
}
}