So che non è una buona pratica di codifica dichiarare un metodo come private
in una classe abstract
. Anche se non è possibile creare un'istanza di una classe abstract
, perché è disponibile il modificatore di accesso private
all'interno di una classe abstract
e qual è lo scopo di esso all'interno di una classe abstract
? In quale scenario è lo specificatore di accesso private
utilizzato in una classe abstract
?Perché esiste un modificatore di accesso privato in una classe astratta in Java, anche se non è possibile creare un'istanza di una classe astratta?
controlla questo codice in cui la classe Vehicle
è astratta e Car
estende veicolo.
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");
}
}
All'interno è lo stesso pacchetto la creazione di una classe 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
}
}
mi hai convinto! – JerryGoyal