Public static final Deklaration einer Instanzvariablen in JAVA-Schnittstellen
Warum verwenden wir public static final
Deklaration der Instanz-Variablen in einem Java-Interface?
Alle Variablen sind implizit public static final
in eine Java-Schnittstelle.
Ist es ein guter Programmierstil zu verwenden public static final
im Konstanten variable, obwohl es deklariert ist, innerhalb einer Schnittstelle.
Zum Beispiel :
public interface TestInterface{
public static final String EX_CONSTANT = "ABC";
public static final int EX_INT_CONSTANT = 5;
public static final double EX_DOUBLE = 5.0;
public static final Integer EX_INTEGER = 10;
}
Sie können Variablen vom Typ der Schnittstelle, wenn das interface wird implementiert, indem die Klasse? Ich habe gelesen, dass dies der bessere Weg erstellen Sie eine variable in eine Klasse, weil wenn Sie neue Methoden, die Sie nicht ändern müssen alle Instanzen der variable mit in die Klasse. Klasse Eine Implementierung Binterface { Binterface = myInterface; dann ic ein Aufruf der Methoden im interface wie eine normale Klasse definiert. Warum würde dies der Fall sein und was nutzen würde, kann ich von solch einer Erklärung?
InformationsquelleAutor Shreyos Adikari | 2012-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwendung einer einheitlichen syntax in beiden Klassen und Schnittstellen vereinfacht refactoring.
Möchten Sie vielleicht, um Ihren
interface
in eineclass
irgendwo in der Zukunft oder verschieben Sie diese Felder in eine Klasse, und Sie erhalten einen semantischen Unterschied, wenn Sie blicken auf einige Felder definiert, ohnepublic static final
(natürlich haben wir die tools für die Umgestaltung, aber trotzdem).Ich denke, es ist die gleiche Sache wie die Unterstützung von
@Overriden
- Anmerkung für die Implementierungen der deklarierten Methoden in interfaces eingeführt wurde Java 6 - das ist redundant in seiner jetzigen form, kann aber nützlich sein, im Falle der Umgestaltung.InformationsquelleAutor axtavt
Glaube ich nicht. Alle Schnittstelle Variablen sind implizit public static final, also keine Bedeutung zu markieren, die Ihnen gleichen.
InformationsquelleAutor Subhrajyoti Majumder
Aus dem Buch Effektiv java von JOshua Bloch
InformationsquelleAutor Shashi
IMO-Schnittstelle ist ein Vertrag. Einmal die Variablen deklariert oder definiert Sie sind nicht zu ändern. Das ist, warum in der Regel machen wir Ihnen
public static final
.Lesbarkeit ist ein weiterer Faktor, der macht die Erklärung überflüssig.
InformationsquelleAutor Nandkumar Tekale
Zugegeben, es ist überflüssig. In der Regel die Leute wissen einfach nicht, dass Sie implizit
public static final
und erkläre es trotzdem. Dito mit Dingen wie der Deklaration:In der Regel es nur darauf an, die Tatsache, dass die Menschen nicht wissen, dass Sie nicht haben es zu erklären, eine oder andere Weise. Ich Sprach einmal mit jemandem (wer war ein erfahrener Programmierer) dieser Gedanke der
default
Fall inswitch
erforderlich ist, oder es wird nicht kompilieren.Dass gesagt wird, das einzige argument für das hinzufügen von Ihnen ist, dass Sie klären, was Ihre tatsächliche Sichtbarkeit und was nicht alles eigentlich ist. Es ist eine Frage der Lesbarkeit und Klärung, ob und zu beachten sind, ist irrelevant, wie es sich tatsächlich verhält.
Das ist mein Punkt ist, dass einige Leute auch mal einfach zu verdeutlichen, dass Sie Abstrakt sind oder weil Sie nicht wissen, dass Sie nicht brauchen, um es hinzuzufügen. Es gibt keinen funktionalen Grund, es zu benutzen, nur subjektive Gründe, die von person zu person variieren
Ja.. habe es.. Und Dank.
InformationsquelleAutor Brian
Wenn Sie arbeiten in einem team von Programmierern, finden Sie junior-Programmierer, die nicht wissen, die Tatsache, dass in der Standardeinstellung werden die Variablen public static final in die Schnittstelle, und zu sehen, den die Variablen deklariert werden Ihnen zusätzliche Informationen über die Schnittstelle und die Verwendung der entsprechenden Variablen.
InformationsquelleAutor Carlos Cambón
Sind Sie richtig: es ist überflüssig. Ich weiß nicht, wie das hinzufügen redundanter syntax zu jeder Zeit. Aber die Praxis hat Ihre Anhänger. Einige fügen auch gerne Klammern um die Rückkehr-Ausdrücke, die auf der irrigen Begründung, dass es ist wie Sie eine 'if' Anweisung; zusätzliche Klammern zu 'klären' arithmetische Ausdrücke, dass ein Drittel-grader verstehen würde; etc. Es ist alle Teil der reichen Tapisserie des Lebens.
InformationsquelleAutor user207421