


Interviewer: Bitte erl?utern Sie ausführlich die Rolle des endgültigen Schlüsselworts und seinen Unterschied zum statischen Schlüsselwort
Mar 08, 2021 am 10:27 AMVorwort:
Wie erwartet stellte der Interviewer im letzten Interview noch einmal diese Frage: K?nnten Sie mir bitte die spezifische Bedeutung des letzten Schlüsselworts mitteilen und seine Rolle im Detail sowie den Unterschied zwischen ihm und Static erl?utern? Damit jeder Interviewpartner auf diese Frage aufmerksam wird, sind die Antworten speziell für Sie als Referenz zusammengestellt.
1. Die Bedeutung des Schlüsselworts final
Die Oberfl?chenbedeutung von final ist unver?nderlich und konstant; ?hnlich wie das Schlüsselwort const in der C-Sprache bezieht es sich auf eine Gr??e, die nicht ge?ndert werden kann, was sich von der statischen Skalarstatik unterscheidet Ja, statische Variablen beziehen sich nur auf einen Speicherplatz und der Wert kann ge?ndert werden. Der Grund für die Verwendung von ?final“ liegt in der Perspektive des Software-Designs, denn wenn andere das Schlüsselwort ?final“ sehen, wissen sie, was es bedeutet, und erzielen den Effekt, es zu verstehen. Dies liegt jedoch genau an der Existenz dieser ?Semantik“. Sie müssen bei der Programmierung vorsichtig sein, um Missbrauch zu vermeiden.
In Java sind endgültige ?nderungen Konstanten und Variablennamen müssen gro?geschrieben werden.
Math-Klasse: public static final double E = 2.7182818284590452354; public static final double PI = 3.14159265358979323846;
...Es gibt viele Variablen in der Java-Quelle code Sie werden alle mit final
2 ge?ndert. Die Rolle von final
final hat je nach ?nderungsposition unterschiedliche Rollen:
(1) Die durch final ge?nderten Variablen müssen initialisiert und zugewiesen werden Es handelt sich um einen Anfangswert, der sp?ter nicht mehr neu zugewiesen werden kann.
Hinweis: Lokale Variablen fallen nicht in den Rahmen unserer Diskussion, da lokale Variablen selbst einen Gültigkeitsbereich haben und nicht durch W?rter wie privat und ?ffentlich ge?ndert werden.
(2) Modifizierte Methode. Die durch final ge?nderte Methode bedeutet, dass sie nicht neu geschrieben werden kann.
(3) Ge?nderte Klassen, durch final ge?nderte Klassen k?nnen nicht vererbt werden.
Hinweis: Bei einer endgültig modifizierten Klasse werden alle Mitgliedsmethoden in der Klasse implizit als endgültige Methoden bezeichnet.
2.1. Durch final ge?nderte Variablen müssen explizit initialisiert werden: 1) Initialisierung beim Definieren, 2) Festlegen des Werts im Konstruktor, 3) in einem nicht statischen Block . Die letzte Instanzvariable legt den Wert fest.
public class Test01{ final int x1= 10000; final int x2; final int x3; { x2 = 20000; } Public exe3(){ this.x3 = 3000; } }Wenn die durch final ge?nderte Variable ein Objekttyp ist, bedeutet ?unver?nderbar“, dass die Variable nicht auf andere Objekte verweisen kann, aber der Wert des Objekts ge?ndert werden kann, wie zum Beispiel:
final Operate operate = new Operate() ;// operate有一個(gè)普通變量i初始化為10operate.i = 11; operate.i = 12; System.out.println(operate.i); //輸出12上述是自定義類,即便是數(shù)組,List等集合類型,所保存的值也是可以更改的。3 Der Unterschied zwischen final und static
static wirkt sich auf Mitgliedsvariablen aus, um anzuzeigen, dass nur eine Kopie gespeichert wird, w?hrend final verwendet wird, um sicherzustellen, dass Variablen unver?nderlich sind. Schauen Sie sich online ein Beispiel an:
public class Test { public static void main(String[] args) { MyClass myClass1 = new MyClass(); MyClass myClass2 = new MyClass(); System.out.println(myClass1.i); System.out.println(myClass1.j); System.out.println(myClass2.i); System.out.println(myClass2.j); } } class MyClass { public final double i = Math.random(); public static double j = Math.random(); } //運(yùn)行結(jié)果,兩次打印,j的值都是一樣的,j是static類型的屬于類,因此兩次值相同。i不是static的因此屬于對(duì)象,但是i的值是不可變的。(Lernvideo-Sharing:
Java-Video-Tutorial
)4. Andere finalbezogene Kenntnisse
(1) Verwenden Sie das Schlüsselwort final. Wenn der Compiler den Wert einer Variablen w?hrend der Kompilierungsphase bestimmen kann, verwendet der Compiler die Variable als Konstante zur Kompilierungszeit. Wenn dies zur Laufzeit ermittelt werden muss, optimiert der Compiler den entsprechenden Code nicht.
public class Test { public static void main(String[] args) { String a = "hello2"; final String b = "hello"; String d = "hello"; String c = b + 2; String e = d + 2; System.out.println((a == c)); System.out.println((a == e)); } } //final類型,在編譯階段能夠確定值。 //非final類型在編譯階段確定不了 輸出: true false public class Test { public static void main(String[] args) { String a = "hello2"; final String b = getHello(); String c = b + 2; System.out.println((a == c)); } public static String getHello() { return "hello"; } } //即便是final類型,編譯階段也確定不了值。輸出false(2) Achten Sie darauf, ?final“ nicht mit ?finally“, ?finalize()“ usw. zu verwechseln. (3) Durch die Deklaration von Klassen, Methoden und Variablen als endgültig kann die Leistung verbessert werden, sodass die JVM die M?glichkeit hat, Sch?tzungen vorzunehmen und diese dann zu optimieren. (4) Die Variablen in der Schnittstelle sind alle ?ffentliche statische Endvariablen. Verwandte Empfehlungen:
Fragen und Antworten zu Java-Interviews
Originallink: http://www.cnblogs.com/liun1994/p/6691094.html
Originalautor: Suifenglangzi90
Das obige ist der detaillierte Inhalt vonInterviewer: Bitte erl?utern Sie ausführlich die Rolle des endgültigen Schlüsselworts und seinen Unterschied zum statischen Schlüsselwort. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der Unterschied zwischen ?final“, ?final“ und ?finalize“ in Java erfordert spezifische Codebeispiele. In der Java-Programmierung sto?en Sie h?ufig auf die drei Schlüsselw?rter ?final“, ?final“ und ?finalize“. In diesem Artikel werden die Unterschiede zwischen diesen drei Schlüsselw?rtern ausführlich erl?utert und Codebeispiele gegeben, um den Lesern ein besseres Verst?ndnis zu erleichtern. 1. Schlüsselwort final Das Schlüsselwort final kann für Klassen, Methoden und Variablen verwendet werden. Seine Funktion besteht darin, die ge?nderte Klasse zu erstellen

Die Auswahl eines Docker-Images für Node mag trivial erscheinen, aber die Gr??e und potenziellen Schwachstellen des Images k?nnen erhebliche Auswirkungen auf Ihren CI/CD-Prozess und Ihre Sicherheit haben. Wie w?hlen wir also das beste Node.js-Docker-Image aus?

Dom?nenübergreifend ist ein Szenario, das in der Entwicklung h?ufig vorkommt und auch ein h?ufig in Interviews diskutiertes Thema ist. Die Beherrschung g?ngiger dom?nenübergreifender L?sungen und der dahinter stehenden Prinzipien kann nicht nur unsere Entwicklungseffizienz verbessern, sondern auch in Vorstellungsgespr?chen bessere Leistungen erbringen.

Eine konstante Variable ist eine Variable, deren Wert fest ist und von der im Programm nur eine Kopie vorhanden ist. Sobald Sie eine konstante Variable deklariert und ihr einen Wert zugewiesen haben, k?nnen Sie ihren Wert im gesamten Programm nicht mehr ?ndern. Im Gegensatz zu anderen Sprachen unterstützt Java Konstanten nicht direkt. Sie k?nnen jedoch weiterhin eine Konstante erstellen, indem Sie eine Variable als ?statisch“ und ?final“ deklarieren. Statisch – Sobald Sie eine statische Variable deklarieren, werden diese zur Kompilierungszeit in den Speicher geladen, d. h. es ist nur eine Kopie verfügbar. Final – Sobald Sie eine Final-Variable deklariert haben, kann ihr Wert nicht mehr ge?ndert werden. Daher k?nnen Sie in Java eine Konstante erstellen, indem Sie die Instanzvariable als statisch und endgültig deklarieren. Beispiel-DemonstrationsklasseData{&am

Eingehende Analyse der Rolle und Verwendung des Schlüsselworts ?static“ in der Sprache C. In der Sprache C ist ?static“ ein sehr wichtiges Schlüsselwort, das bei der Definition von Funktionen, Variablen und Datentypen verwendet werden kann. Die Verwendung des Schlüsselworts static kann die Linkattribute, den Umfang und den Lebenszyklus des Objekts ?ndern. Lassen Sie uns die Rolle und Verwendung des Schlüsselworts static in der C-Sprache im Detail analysieren. Statische Variablen und Funktionen: Variablen, die mit dem Schlüsselwort static innerhalb einer Funktion definiert werden, werden als statische Variablen bezeichnet, die einen globalen Lebenszyklus haben

Das JS-Singleton-Muster ist ein h?ufig verwendetes Entwurfsmuster, das sicherstellt, dass eine Klasse nur eine Instanz hat. Dieser Modus wird haupts?chlich zur Verwaltung globaler Variablen verwendet, um Namenskonflikte und wiederholtes Laden zu vermeiden. Au?erdem kann er die Speichernutzung reduzieren und die Wartbarkeit und Skalierbarkeit des Codes verbessern.

Das Go-Framework besteht aus einer Reihe von Komponenten, die die integrierten Bibliotheken von Go erweitern und vorgefertigte Funktionen bereitstellen (z. B. Webentwicklung und Datenbankoperationen). Zu den beliebten Go-Frameworks geh?ren Gin (Webentwicklung), GORM (Datenbankoperationen) und RESTful (API-Verwaltung). Middleware ist ein Interceptor-Muster in der HTTP-Anforderungsverarbeitungskette und wird verwendet, um Funktionen wie Authentifizierung oder Anforderungsprotokollierung hinzuzufügen, ohne den Handler zu ?ndern. Die Sitzungsverwaltung verwaltet den Sitzungsstatus durch die Speicherung von Benutzerdaten. Sie k?nnen gorilla/sessions zum Verwalten von Sitzungen verwenden.

Was ist JPA? Wie unterscheidet es sich von JDBC? JPA (JavaPersistence API) ist eine Standardschnittstelle für objektrelationales Mapping (ORM), die es Java-Entwicklern erm?glicht, vertraute Java-Objekte zum Betreiben von Datenbanken zu verwenden, ohne SQL-Abfragen direkt in die Datenbank schreiben zu müssen. JDBC (JavaDatabaseConnectivity) ist die Standard-API von Java für die Verbindung mit Datenbanken. Sie erfordert, dass Entwickler SQL-Anweisungen verwenden, um die Datenbank zu betreiben. JPA kapselt JDBC, bietet eine bequemere und übergeordnete API für die objektrelationale Zuordnung und vereinfacht Datenzugriffsvorg?nge. Was ist in JPA eine Entit?t? juristische Person
