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