Je sais que ce n'est pas une bonne pratique de codage de déclarer une méthode comme private
dans une classe abstract
. Même si nous ne pouvons pas créer une instance d'une classe abstract
, pourquoi le modificateur d'accès private
est-il disponible dans une classe abstract
et quelle en est la portée dans une classe abstract
? Dans quel scénario le spécificateur d'accès private
est-il utilisé dans une classe abstract
?Pourquoi y a-t-il un modificateur d'accès privé dans une classe abstraite en Java, même si nous ne pouvons pas créer une instance d'une classe abstraite?
vérifier ce code où Vehicle
classe est abstraite et Car
étend Véhicule.
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");
}
}
création d'une classe de voitures
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
}
}
vous m'a convaincu! – JerryGoyal