je une classe appelée Module
qui a une méthode onEnable();
Maintenant, je suis une classe appelée Config
et que vous voulez faire la méthode onEnable();
private
parce qu'il ya une action prédéfinie et une classe extension Config
devrait Ne pas être autorisé à changer le comportement.Assigner plus faible accès à dominante méthode de superclasse
Y at-il un moyen de le faire?
Exemple
class Module{
public void onEnable(){
}
}
Une classe extension du module qui est autorisé à utiliser onEnable
:
class HelloWorldModule{
@Override
public void onEnable(){
System.out.println("Hello, World!");
}
}
Maintenant, la classe de configuration, où je veux que onEnable
est privé de sorte que les classes qui étendent la configuration ne peut pas! Remplacer onEnable
:
class Config{
@Override
private void onEnable(){
}
}
maintenant, une classe nommée ProgrammConfig
qui étend Config
ne peut pas passer outre onEnable
.
Toutefois, cela ne fonctionne pas car vous ne pouvez pas remplacer une méthode public
par une méthode private
.
Ainsi la classe 'config' étend la classe' module'? –
Oui. Et puis il y a d'autres classes qui ne font que prolonger Module. Mais les classes extension config qui étend le module ne devrait pas être en mesure de remplacer onEnable –
Votre exigence n'est pas très claire, pouvez-vous s'il vous plaît redéfinir le problème et l'exigence. Si possible, présentez du code. –