possible en double:
Why no static methods in Interfaces, but static fields and inner classes OK?pourquoi la mise en œuvre est autorisée avec interface
Je veux savoir pourquoi que l'interface ne permet pas de bloc statique, mais ils permettent de déclarer variable statique. Que faire si je veux initialiser une variable statique sur une logique.
edit: Plus tôt, je n'ai pas posté ma requête dans une meilleure forme mais c'est ma requête avec un exemple de code. s'il vous plaît, regardez-le.
interface A {
static class XYZ {
public static void methodA() {
// some implementation
System.out.println("methodA");
}
public static void methodB() {
// some more implementation
System.out.println("methodB");
}
}
void methodC();
}
public class ABC implements A {
public static void main(String[] args) {
A.XYZ.methodA();
}
@Override
public void methodC() {
// TODO Auto-generated method stub
}
}
Depuis fin de l'interface est de fournir un mécanisme où les utilisateurs/développeurs de l'interface peuvent mettre en œuvre les propriétés (méthodes) en fonction de leurs besoins. Mais si je suis autorisé à ajouter l'implémentation dans l'interface, alors pourquoi cet objectif de l'interface est-il vaincu, expliquez-moi pourquoi cette implémentation dans l'interface est autorisée, il doit y avoir quelque chose et pourquoi? je veux savoir
Utilisez Java 8 et vous le pouvez. –
Je pense que la réponse à ** pourquoi l'interface ne permet pas le blocage statique, mais ils permettent de déclarer la variable statique ** peut être commentée dans la deuxième question dupliquée par @peterk. C'est idealogique et non technique. – andy