Mi chiedo qual è la differenza tra l'interfaccia statica con l'interfaccia normale senza tale parola chiave in java?
E Quando e dove dovremmo usare la parola chiave statica prima dell'interfaccia . E perché dovremmo usarlo? Puoi prendere questa interfaccia come esempio
Grazie mille! public static interface Map.Entry<K,V>
Qual è la differenza tra l'interfaccia statica con l'interfaccia normale senza tale parola chiave in java?
6
A
risposta
8
Non c'è alcuna differenza: static
è implicita - tutte le interfacce sono effettivamente statici.
L'utilizzo o meno o la parola chiave static
è una questione di stile. Personalmente, preferisco usare static
in quanto è in linea con la semantica di una classe statica interna.
0
le interfacce sono intrinsecamente statiche. Non è possibile dichiarare un'interfaccia all'interno di un blocco. Ad esempio, il codice seguente estratto non viene compilato perché il HelloThere interfaccia è definita all'interno del corpo del metodo greetInEnglish:
public void greetInEnglish() {
interface HelloThere {
public void greet();
}
class EnglishHelloThere implements HelloThere {
public void greet() {
System.out.println("Hello " + name);
}
}
HelloThere myGreeting = new EnglishHelloThere();
myGreeting.greet();
}
I preferiscono usare troppo. Allo stesso modo con le dichiarazioni interne di "enum", solo per non confondere le persone che non conoscono questo avvertimento, come come si possono dichiarare i metodi di interfaccia senza un modificatore di accesso poiché sono intrinsecamente "pubblici". +1 – Brian