2 Was sind die Merkmale der Popularität von Java?
Java ist eine plattformübergreifende Sprache (einmal kompilieren, überall ausführen).Zum Beispiel: Java schreibt die Datei hello.java auf der Windows-Plattform -> kompiliert sie in die Datei hello.class. Installieren Sie die entsprechende virtuelle Java-Maschine in verschiedenen Betriebssystemen (alle Systemplattformen müssen über JVM verfügen, um kompilierte Java-Dateien auszuführen). Sie können sie direkt ausführen
3. Drei technische Architekturen von Java
Die drei grundlegenden technischen Architekturen von Java sind: JavaSE, JavaEE, JavaME
JavaEE: Eine Plattform, die hauptsächlich für Entwickler geeignet ist für die Entwicklung von WEB-Anwendungssystemen JavaME: Entwicklung kleiner elektronischer Verbraucherprodukte wie: APP auf Mobiltelefonen; Sprache auf Maschinen (Aufzüge, Kehrroboter)
(3) Der erste Buchstabe aller Java-Methodennamen sollte kleingeschrieben werden. Wenn er aus mehreren Wörtern besteht, sollte der erste Buchstabe der folgenden Wörter großgeschrieben werden. Zum Beispiel: findByName (4), die Quelldatei muss mit dem Klassennamen übereinstimmen
5 Welche grundlegenden Datentypen hat Java?
Java hat acht grundlegende Datentypen: Byte, Short, Int, Long, Float , double, char, boolean (sechs digitale Typen: vier Ganzzahltypen (Byte, Short, Int, Long), zwei Gleitkommatypen (Float, Double))Byte
: Der Datentyp ist 8-Bit, vorzeichenbehaftet, mit Eine ganze Zahl, dargestellt in der Zweierkomplement-Schreibweise. Wird verwendet, um in großen Arrays Platz zu sparen. Der von Byte-Variablen belegte Platz beträgt nur ein Viertel des int-Typs. Entsprechende Verpackungsklasse: Byte, Wert (2
7
- 2
7
kurz: Der Datentyp ist eine 16-Bit-Ganzzahl, ausgedrückt im Zweierkomplement. Der kurze Datentyp kann auch Speicherplatz wie Bytes sparen. Eine kurze Variable ist halb so groß wie eine Variable vom Typ int. Entsprechende Verpackungsklasse: Kurz. Wert (2
15
-2
15
-1)
int: Der Datentyp ist eine 32-Bit-Ganzzahl mit Vorzeichen, dargestellt im Zweierkomplement. Allgemeine Ganzzahlvariablen haben standardmäßig den Typ int. Wert (231
-2
31-1)long: Der Datentyp ist eine 64-Bit-Ganzzahl mit Vorzeichen, dargestellt im Zweierkomplement. Dieser Datentyp wird hauptsächlich auf Systemen verwendet, die große ganze Zahlen vergleichen müssen. Wert (263-2
63-1)float: Der Datentyp ist eine 32-Bit-Gleitkommazahl mit einfacher Genauigkeit. float kann beim Speichern großer Gleitkomma-Arrays Speicherplatz sparen. Der Standardwert ist 0,0f. Gleitkommazahlen können nicht zur Darstellung präziser Werte wie Währungen verwendet werden. double
: Der Datentyp ist eine 64-Bit-Gleitkommazahl mit doppelter Genauigkeit. Der Standardtyp von Gleitkommazahlen ist Double. Der Double-Typ kann auch keine genauen Werte wie Währungen darstellen. Der Standardwert ist 0,0d. char: Der Typ ist ein einzelnes 16-Bit-Unicode-Zeichen. Der Datentyp char kann jedes Zeichen speichern. Es kann jedoch nur ein Zeichen gespeichert werden boolean: Der Datentyp stellt einstellige Informationen dar und hat nur zwei Werte: wahr und falsch. Dieser Typ wird nur als Flag zum Aufzeichnen von wahren und falschen Situationen verwendet und der Standardwert ist falsch.
6. Was sind die Zugriffsberechtigungsmodifikatoren? Zu den Zugriffsberechtigungsmodifikatoren gehören: öffentlich, geschützt, Standard (nicht standardmäßig geschrieben), privat öffentlich: maximale Zugriffsrechte, verwendet für externe Schnittstellen geschützt: wird zum Schutz eines geerbten Dings verwendet, das an eine Unterklasse übergeben wird
Standard: für den Zugriff konzipiert zu diesem Paket privat: Die Zugriffsrechte sind auf das Innere der Klasse beschränkt und können nicht von externen Klassen aufgerufen werden
7. Wie kann ich ein Programm ausführen?
Alle Java-Programme werden von der öffentlichen statischen Methode viod main(String []args){} ausgeführt.
8. Welche Objekte werden in Java häufig erwähnt?
Ein Objekt ist eine Instanz einer Klasse mit Zustand und Verhalten.
Zum Beispiel: Ein Hund ist ein Objekt, sein Status umfasst: Farbe, Name, Rasse; Verhaltensweisen umfassen: Schwanzwedeln, Bellen, Fressen usw.
Softwareobjekte haben auch Status und Verhalten. Die Objekte der Software sind Attribute und das Verhalten wird durch Methoden widergespiegelt
9 Was ist eine Klasse?
Eine Klasse ist eine Vorlage, die das Verhalten und den Status eines Objekttyps beschreibt.
10 Wie werden die Methoden in der Klasse erstellt?
Beim Erstellen eines Objekts muss mindestens ein Konstruktor aufgerufen werden. Der Name des Konstruktors muss mit dem der Klasse identisch sein. Eine Klasse kann mehrere Konstruktoren haben.
11. Wie erstelle ich ein Objekt?
Objekte werden basierend auf Klassen erstellt. Verwenden Sie in Java das Schlüsselwort new, um ein neues Objekt zu erstellen. Das Erstellen eines Objekts erfordert drei Schritte:
Deklaration: Deklarieren Sie ein Objekt, einschließlich des Namens des Objekts und des Typs des Objekts.
Instanziierung: Verwenden Sie das Schlüsselwort new, um ein Objekt zu erstellen.
Initialisierung: Wenn Sie new verwenden, um ein Objekt zu erstellen, wird die Konstruktormethode aufgerufen, um das Objekt zu initialisieren.
12 Gibt es Deklarationsregeln für die Deklaration von Quelldateien?
(1). Die Quelldatei kann nur eine öffentliche Klasse haben
(2) Es kann mehrere nicht öffentliche Klassen geben
(3) Der Name der Quelldatei muss den gleichen Namen haben wie die Klasse
(4) Wenn Wenn die Quelldatei in einem Paket definiert ist, sollte sich das Importpaket in der ersten Zeile der Quelldatei befinden.
(5) Wenn die Quelldatei eine Importanweisung enthält, wird diese zwischen der Paketanweisung und der Klasse definiert. Wenn keine Paketanweisung vorhanden ist, sollte die Importanweisung am Anfang der Quelldatei stehen.
(6) Der Import Anweisung und Paketanweisung befinden sich in der Quelldatei. Alle definierten Klassen sind gültig. In derselben Quelldatei können keine unterschiedlichen Paketdeklarationen für verschiedene Klassen definiert werden
13 Was sind Variablen?
Variablen gelten als Speicher zum Speichern von Werten. Mit anderen Worten: Wenn Sie eine Variable erstellen, müssen Sie Speicherplatz im Speicher beantragen. Das Speicherverwaltungssystem weist Speicherplatz entsprechend dem Variablentyp zu, und der zugewiesene Speicherplatz kann nur zum Speichern von Daten dieses Typs verwendet werden.
14. Welche Funktion hat die Definition von Variablen?
Durch die Definition verschiedener Typen können verschiedene Arten von Zahlen (z. B. Ganzzahlen, Dezimalzahlen, Zeichen) gespeichert werden.
15 Können die verschiedenen Typen konvertiert werden?
Von niedrig nach hoch:
byte, short, char——>int——>long——>float——>double
kann automatisch konvertiert werden.
(1). Typkonvertierung kann nicht für boolesche Typen durchgeführt werden.
(2) Objekttypen können nicht in Objekte unabhängiger Klassen konvertiert werden.
(3) Bei der Konvertierung eines Typs mit großer Kapazität wird eine Typkonvertierung erzwungen ist ein erforderlicher (Typ) Werttyp. Der Konvertierungsprozess kann zu einem Überlauf oder Genauigkeitsverlust führen
(4) Die automatische Typkonvertierung muss sicherstellen, dass die Anzahl der Ziffern der Daten vor der Konvertierung kleiner ist als die Anzahl der Ziffern des Datentyps nach der Konvertierung.
(5) Die Umrechnung von Gleitkomma in Ganzzahl erfolgt direkt durch Verwerfen des Dezimalteils statt durch Runden.
Zum Beispiel: (int)23.7 == 23, (int)-23.7 == -23
16 Was sind die Java-Operatoren?
(·1) Arithmetische Operatoren: ähnlich denen in der Mathematik, hauptsächlich + - * % ++ -- (++a addiert zuerst 1 zur ursprünglichen Basis und führt dann die Operation aus, a– operiert zuerst und subtrahiert dann 1)
(2) Logische Operatoren: hauptsächlich && ||!
(3) Zuweisungsoperator: Spielt hauptsächlich die Rolle einer Zuweisung: = += -=
(4) Bedingungsoperator: Wird auch als ternärer Operator bezeichnet. Dieser Operator verfügt über drei Operanden und muss den Wert eines booleschen Ausdrucks auswerten. Der Hauptzweck dieses Operators besteht darin, zu bestimmen, welcher Wert der Variablen zugewiesen werden soll. Beispiel: int a = (20==40)?
(1), while ist die grundlegendste Schleife, ihre Struktur ist: while (Boolescher Ausdruck) {
// Schleifeninhalt
}
Solange der boolesche Ausdruck wahr ist, wird die Schleife fortgesetzt. (2) Die do...while-Schleife und die while-Schleife sind einander bekannt. Der Unterschied besteht darin, dass die do...while-Schleife mindestens einmal ausgeführt wird.
do{
//Schleifeninhalt
}while (Boolescher Ausdruck)
(3) Die Anzahl der Ausführungen der for-Schleife wird vor der Ausführung bestimmt für (Initialisierung; Boolescher Ausdruck; Aktualisierung){
// Code Aussage
}
18. Gibt es Schlüsselwörter für Schleifenstrukturen?
break: Wird hauptsächlich in Schleifenanweisungen oder switch-Anweisungen verwendet, um aus dem gesamten Anweisungsblock zu springen und die Anweisungen unterhalb der Schleife weiter auszuführen. Weiter: Anwendbar auf jede Schleifenkontrollstruktur. Ihre Funktion besteht darin, dem Programm zu ermöglichen, sofort zur nächsten Iteration der Schleife zu springen. In der for-Schleife bewirkt die continue-Anweisung, dass das Programm sofort zur update-Anweisung springt. In while- und do...while-Schleifen springt das Programm sofort zur Beurteilungsanweisung des booleschen Ausdrucks.
19. Was ist die Zahlenklasse?
Wenn integrierte Datentypen als Objekte verwendet werden, packt der Compiler die integrierten Typen in Wrapper-Klassen. Die Zahlenklasse gehört zum Paket java.lang. Alle Wrapper-Klassen (Integer, Long, Byte, Double, Float, Short) sind Unterklassen der abstrakten Klasse Number.
20. Was ist die Mathe-Klasse in Java?
Enthält Eigenschaften und Methoden zum Ausführen grundlegender mathematischer Operationen, wie z. B. elementare Exponenten, Objekte, Quadratwurzeln und trigonometrische Funktionen. Mathematische Methoden werden alle in statischer Form definiert. Es kann direkt in der Hauptfunktion über die Math-Klasse aufgerufen werden.
21. Was ist der Unterschied zwischen Boden, Rund und Decke in Mathe?
ceil: Gibt die kleinste ganze Zahl zurück, die größer oder gleich dem Führungsparameter ist (zum Beispiel: Math.ceil(23.2) ==24 statt Rundung)
floor: Gibt die größte ganze Zahl zurück, die kleiner oder gleich dem Führungsparameter ist (z Beispiel: Math.ceil(23.7) ==23 statt Runden)
Runde: Es bedeutet Runden, der Algorithmus ist Math.round(x+0.5), das heißt, addiere 0,5 zur ursprünglichen Zahl und runde dann ab. Math.round(11.4) ist also gleich 11, Math.round(11.5) ist gleich 12 und Math.round(-11.5) ist gleich -11.
22. Was ist die Character-Klasse und welche Methoden hat diese Klasse?
Zeichen: Es handelt sich um eine Wrapper-Klasse, die von der Java-Sprache für den integrierten Basisdatentyp char bereitgestellt wird.
Die Hauptmethoden von Character sind: isLetter() – ob es sich um einen Buchstaben handelt; toString – gibt die Länge der Zeichenfolge zurück, die Zeichenfolgenlänge beträgt nur 1; isLowerCase() – ob es sich um einen Großbuchstaben handelt; es ist ein Kleinbuchstabe.
23. Welche Escape-Zeichen werden durch die Zeichen dargestellt, denen ein Backslash () vorangestellt ist?
Häufig verwendete Escape-Zeichen sind: t (fügen Sie an dieser Stelle im Text eine Tabulatortaste ein)
d (fügen Sie an dieser Stelle im Text eine Zurück-Taste ein)
n (fügen Sie an dieser Stelle im Text eine neue Zeile ein)
r (Fügen Sie an dieser Stelle im Text eine neue Zeile ein.)
24 Welche Vorsichtsmaßnahmen gelten für die String-Klasse von Java?
Strings sind Objekte in Java, und Java stellt die String-Klasse zum Erstellen und Bearbeiten von Strings bereit. Die String-Klasse kann nicht geändert werden. Sobald ein String-Objekt erstellt wurde, kann sein Wert nicht geändert werden. Wenn Sie die Zeichenfolge ändern müssen, sollten Sie die Klasse StringBuffer oder StringBuilder verwenden.
25. Was ist der Unterschied zwischen der length()-Methode, dem length-Attribut und der size()-Methode?
Die length()-Methode ist für Strings vorgesehen, Sie müssen deren length()-Methode verwenden.
Die length()-Eigenschaft gilt für Arrays Verwenden Sie das Längenattribut.
size() ist für generische Sammlungen vorgesehen. Wenn Sie sehen möchten, wie viele Elemente dieses generische Element enthält, rufen Sie einfach diese Methode auf, um dies zu überprüfen.
26. Welche Methoden gibt es, Saiten zu verbinden?
Es gibt zwei Typen:
(1), String 1.concat (String 2)
(2), die häufigere Verwendung besteht darin, die Operation „+“ zum Verketten von Zeichenfolgen zu verwenden, z. B. „Hallo“ + „Wort“. " + "!";
27. Was ist der Unterschied zwischen den Klassen StringBuffer und StringBuilder in Java?
Die StringBuilder-Klasse wurde in Java 5 vorgeschlagen. Der größte Unterschied zwischen ihr und StringBuffer besteht darin, dass die Methoden von StringBuilder nicht threadsicher sind (nicht synchron auf sie zugegriffen werden kann). Da StringBuilder einen Geschwindigkeitsvorteil gegenüber StringBuffer hat, wird StringBuilder in den meisten Fällen verwendet. In Fällen, in denen die Anwendung jedoch lineare Sicherheit erfordert, muss die StringBuffer-Klasse verwendet werden.
28. Wie implementiert StringBuffer Objektänderungen?
String Buffer verfügt hauptsächlich über die Methode append() zum Vervollständigen der Verbindung, die Methode insert() zum Vervollständigen der Addition und die Methode replace() zum Vervollständigen der Ersetzung.
Wie zum Beispiel: buf.append("hi");
buf.insert(0,"Hello"); //Füge
vor dem ersten Inhalt hinzu buf.insert(buf.length,'Hello'); Daten am Ende
String str = buf.reverse().toString(); //Kehren Sie den Inhalt um und konvertieren Sie ihn in einen String
buf.replace(6,11,"yes"); //Ersetzen Sie den Inhalt von Wort
29. Können Arrays als Parameter an Methoden übergeben werden?
Ja
30. Wie erhalte ich die aktuelle Uhrzeit und passe die Uhrzeit an?
Aktuelle Uhrzeit ausdrucken: Daten data = new Date(); data ist die aktuelle Uhrzeit!
Datums- und Uhrzeitformat festlegen, SimpleDateFormat
SimpleDateFormat sc = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss“);
System.out.printf(sc.format(time to beconverted))
31. Wie schläft Java?
Sleep() versetzt den aktuellen Thread in einen stagnierenden Zustand (blockiert den aktuellen Prozess) und gibt die Nutzung der CPU auf. Der Zweck besteht darin, zu verhindern, dass der aktuelle Thread die vom Thread allein erhaltenen CPU-Ressourcen belegt Lassen Sie anderen Threads eine gewisse Zeit für die Ausführung. Sie können das Programm für einige Millisekunden in den Ruhezustand versetzen. Tread.sleep(1000*3) //3 Sekunden lang schlafen
32. Wie richtet man bestimmte Teile des Datumsformats ein, z. B. Jahr, Monat, Tag, Tag, Minute und Sekunde?
verwendet die Kalenderklasse. Die Calender-Klasse ist eine abstrakte Klasse, die Objekte bestimmter Unterklassen in der tatsächlichen Verwendung implementiert. Der Prozess der Objekterstellung ist für Programmierer transparent und muss nur mit der Methode getInstance erstellt werden.
33. Gibt es eine zu verwendende Klasse oder Methode?
Das Paket java.util.regex enthält hauptsächlich die folgenden drei Klassen:
Pattern-Klasse: Das Pattern-Objekt ist eine kompilierte Darstellung eines regulären Ausdrucks. Die Pattern-Klasse hat keinen öffentlichen Konstruktor. Um ein Pattern-Objekt zu erstellen, muss man zunächst seine öffentliche statische kompilierte Methode aufrufen, die ein Pattern-Objekt zurückgibt.
Matcher-Klasse: Das Matcher-Objekt ist eine Engine, die Eingabezeichenfolgen kompiliert und abgleicht.
PatternSyntaxExeption: PatternSyntaxExeption ist eine nicht obligatorische Ausnahmeklasse, die einen Syntaxfehler in einem regulären Ausdrucksmuster darstellt.
34. Welche Verbindung besteht zwischen Konstruktoren und Methoden?
Das Konzept der Konstruktormethode: Wenn ein Objekt erstellt wird, ruft das System automatisch die Konstruktormethode auf. Wenn kein benutzerdefinierter Konstruktor vorhanden ist, ruft das System den Standardkonstruktor auf. Konstruktoren können überladen, aber nicht umgeschrieben werden. Die Parameterliste ist die Grundlage und der Standard für ihre Identifizierung, ähnlich wie der Name einer Person, die zwar gleich ist, aber einen unterschiedlichen Ausweis hat.
Beim Anpassen des Konstruktors gleicht das System den Konstruktor automatisch ab, um das Objekt basierend auf der Art und Menge der übergebenen Parameter zu initialisieren.
35. Was ist die Scannerklasse? So erstellen Sie ein Scannerobjekt
java.util.Scanner ist eine neue Funktion von Java5. Wir können Eingaben vom Benutzer erhalten.
Scanner sc = new Scanner();
36. Was ist der Unterschied zwischen den Methoden next() und nextLine() der Klasse Scanner, um die Eingabezeichenfolge zu erhalten?
next():
(1), muss gültige Zeichen lesen, bevor die Eingabe beendet wird.
(2), wenn zwischen gültigen Zeichen für die Eingabe ein Leerzeichen auftritt, wird es automatisch entfernt.
(3) Nur durch Eingabe Gültige Zeichen können später als Trennzeichen oder Abschlusszeichen verwendet werden. next() kann keine Zeichenfolge mit Leerzeichen erhalten.
nextLine():
(1) mit Enter als Abschlusszeichen alle Zeichen vor dem Wagenrücklauf;
(2), Sie können Leerzeichen erhalten
37 Welche drei Arten von Ausnahmen gibt es in Java?
Geprüfte Ausnahmen: Die häufigste Art von geprüften Ausnahmen sind Ausnahmen, die durch Benutzerfehler oder Probleme verursacht werden, die vom Programmierer nicht vorhersehbar sind. Wenn Sie beispielsweise eine Datei öffnen möchten, die nicht vorhanden ist, tritt eine Ausnahme auf. Diese Ausnahmen können zur Kompilierungszeit nicht einfach ignoriert werden.
Laufzeitausnahmen: Laufzeitausnahmen sind Ausnahmen, die von Programmierern vermieden werden können. Im Gegensatz zu geprüften Ausnahmen können Laufzeitausnahmen zur Kompilierungszeit ignoriert werden.
Fehler: Fehler sind keine Ausnahmen, sondern Probleme, die außerhalb der Kontrolle des Programmierers liegen. Fehler werden im Code oft ignoriert. Beispiel: Wenn der Stapel überläuft, tritt ein Fehler auf, der beim Kompilieren nicht überprüft werden kann.
38. Was ist der Unterschied zwischen Ausnahme und Fehler? Alle Ausnahmen erben die Throwable-Klasse, was bedeutet, dass alle Ausnahmen ein Objekt sind.
Im Allgemeinen können Ausnahmen in zwei Teile unterteilt werden:
(1) Fehler: bezieht sich auf einen Fehler, der vom Programm nicht behandelt werden kann, was auf einen schwerwiegenden Fehler hinweist, der auftritt, wenn die Anwendung ausgeführt wird. Zum Beispiel der OutOfMemoryError, der auftritt, wenn der JVM ausgeführt wird und der Port beim Programmieren des Sockets belegt ist, und andere Fehler, die vom Programm nicht behandelt werden können. (2) Ausnahme: Ausnahmen können in Laufzeitausnahmen und Kompilierungsausnahmen unterteilt werden Die Klasse hat zwei Hauptunterklassen: die IOException-Klasse und die RuntimeException-Klasse.
Verwenden Sie Try- und Catch-Schlüsselwörter, um Ausnahmen abzufangen, und platzieren Sie Try/Catch-Codeblöcke dort, wo Ausnahmen auftreten können. Der Code innerhalb des Try/Catch-Blocks wird zu geschütztem Code.
40. Was ist der Unterschied zwischen Würfen und Wurfschlüsselwörtern?
Wenn eine Methode eine geprüfte Ausnahme nicht abfängt, muss die Methode mit dem Schlüsselwort throws deklariert werden. Das Schlüsselwort throws wird am Ende der Methodensignatur platziert. Sie können throw auch verwenden, um eine Ausnahme auszulösen, unabhängig davon, ob es sich um die letzte Instanziierung handelt oder ob sie gerade erst abgefangen wurde.
Eine Methode kann so deklariert werden, dass sie mehrere durch Kommas getrennte Ausnahmen auslöst.
41. Wie kann ich Ausnahmen in Java anpassen?
Sie können Ihre eigene Ausnahmeklasse schreiben:
(1), alle Ausnahmen müssen Unterklassen der Throwable-Klasse sein
(2), wenn Sie eine Prüfzeitausnahme schreiben möchten, müssen Sie Exception erben; ), um eine Laufzeitausnahme zu schreiben, müssen Sie die RuntimeException()-Ausnahme erben
42. Was ist Vererbung? Was sind die Merkmale der Vererbung? Vererbung liegt vor, wenn eine Unterklasse die Merkmale und Verhaltensweisen der übergeordneten Klasse erbt, sodass das Unterklassenobjekt (Instanz) über die Instanzfelder und -methoden der übergeordneten Klasse verfügt, oder wenn die Unterklasse Methoden von der übergeordneten Klasse erbt, sodass die Unterklasse hat das gleiche Verhalten wie die übergeordnete Klasse.
Merkmale:
(1) Die Unterklasse verfügt über nicht-private Attribute und Methoden der übergeordneten Klasse.
(2) Die Unterklasse kann ihre eigenen Attribute und Methoden haben. 3) Unterklassen können die Methoden der übergeordneten Klasse auf eigene Weise implementieren.
(4) Die Java-Vererbung kann nur eine Einzelvererbung sein, es kann jedoch eine Mehrfachvererbung sein. und Mehrfachvererbung ist: A erbt B, B erbt C, sodass Klasse C gemäß der Beziehung die übergeordnete Klasse von Klasse B und B die übergeordnete Klasse von A ist. Dies ist ein Merkmal des Unterschieds zwischen Java-Vererbung und C ++ .
Vererbung kann mit den beiden Schlüsselwörtern „extends“ und „Implements“ implementiert werden. Darüber hinaus erben alle Klassen von java.lang.Object. Wenn eine Klasse nicht über das geerbte Schlüsselwort verfügt, erbt sie standardmäßig die Object-Klasse (diese Klasse befindet sich im Paket java.lang, daher ist kein Paketimport erforderlich).
Super-Schlüsselwort
: Das Super-Schlüsselwort kann für den Zugriff auf übergeordnete Klassenmitglieder verwendet werden und wird verwendet, um auf die übergeordnete Klasse zu verweisen, die das aktuelle Objekt erbt.
: eine Referenz auf dich selbst. finales Schlüsselwort
: Durch die Deklaration einer Klasse kann die Klasse als eine Klasse definiert werden, die nicht vererbt werden kann, d Sind die Merkmale des Konstruktors der übergeordneten Klasse? Unterklassen können den Konstruktor (Konstruktor und Konstruktor (mit Parametern)) der übergeordneten Klasse nicht erben. Wenn der Konstruktor der übergeordneten Klasse jedoch Parameter hat, muss der Supper-Schlüssel explizit im Konstruktor der übergeordneten Klasse übergeben werden Die Klasse ist ein Konstruktor mit einer entsprechenden Parameterliste:
Wenn die übergeordnete Klasse einen Konstruktor ohne Argumente hat, ist es nicht erforderlich, supper im Konstruktor der untergeordneten Klasse zu verwenden, um die übergeordnete Klasse aufzurufen, wenn das Schlüsselwort super verwendet wird Wird nicht verwendet, ruft das System automatisch den parameterlosen Konstruktor der übergeordneten Klasse auf.
45. Was ist Override, was ist Überlastung und was ist der Unterschied zwischen ihnen?
: Die Unterklasse schreibt den Implementierungsprozess der Methode „Erlaubter Zugriff“ der übergeordneten Klasse neu und schreibt sie. Der Rückgabewert und die Parameter können nicht geändert werden, dh die Shell kann nicht geändert werden und der Kern kann nicht geändert werden. Der Vorteil des Überschreibens besteht darin, dass Unterklassen ihr eigenes Verhalten nach Bedarf anpassen können. Mit anderen Worten: Unterklassen können die Methoden der übergeordneten Klasse nach Bedarf implementieren. Überschreibende Methoden können keine geprüften Ausnahmen oder Ausnahmen auslösen, die umfassender sind als die Deklaration der überschreibenden Methode. Überladung
: Überladung erfolgt in einer Klasse, der Methodenname ist derselbe, aber die Parameter sind unterschiedlich und die Rückgabetypen können gleich oder unterschiedlich sein. Jede überladene Methode (oder jeder überladene Konstruktor) muss über eine eindeutige Liste von Parametertypen verfügen. Die häufigste Ursache ist die Konstruktorüberladung. Unterschied: Methodenumschreibung und -überladung sind unterschiedliche Erscheinungsformen des Polymorphismus in Java. Das Umschreiben ist eine Erscheinungsform des Polymorphismus zwischen Elternklassen und Unterklassen. (1) Methodenüberladung ist eine Klasse, die mehrere Methoden mit demselben Namen und unterschiedlichen Parametern oder derselben Anzahl von Parametern, unterschiedlichen Typen und unterschiedlicher Reihenfolge definiert, was zu einer Überladung der Methode führt.
(2) Das Überschreiben einer Methode ist eine Methode in einer Unterklasse, die denselben Namen wie die Methode der übergeordneten Klasse hat, die Anzahl der Parameter mit dem Typ übereinstimmt und der Rückgabewert derselbe ist. Dies wird als Überschreiben bezeichnet (3 ) Methodenüberladung Es ist ein polymorpher Ausdruck einer Klasse, und das Überschreiben der zweiten Methode ist ein polymorpher Ausdruck der Unterklasse und der übergeordneten Klasse.
46. Was ist eine abstrakte Klasse?
Abstrakte Klasse: Abgesehen davon, dass abstrakte Klassen keine Objekte instanziieren können, sind noch andere Funktionen der Klasse vorhanden. Die Zugriffsmethoden von Mitgliedsvariablen, Mitgliedsmethoden und Konstruktoren unterscheiden sich von gewöhnlichen Klassen. Da abstrakte Klassen keine Objekte instanziieren können, müssen abstrakte Klassen geerbt werden, bevor sie verwendet werden können:
Die übergeordnete Klasse enthält allgemeine Methoden für Sammlungen von Unterklassen, aber da die übergeordnete Klasse selbst abstrakt ist, können diese Methoden nicht verwendet werden. In Java stellen abstrakte Klassen eine Vererbungsbeziehung dar. Eine Klasse kann nur eine abstrakte Klasse erben, aber eine Klasse kann mehrere Schnittstellen implementieren.
Abstrakte Klasse definieren: Verwenden Sie die abstrakte Klasse, um abstrakte Klassen in der Java-Sprache zu definieren.
Abstrakte Methode definieren: Wenn Sie eine Klasse entwerfen möchten, die eine spezielle Mitgliedsmethode enthält und die spezifische Implementierung der Methode durch ihre Unterklasse bestimmt wird, können Sie die Methode in der übergeordneten Klasse deklarieren. Das Schlüsselwort „Abstract“ wird auch zum Deklarieren abstrakter Methoden verwendet. Abstrakte Methoden enthalten nur einen Methodennamen und keinen Methodenkörper (abstrakte Methoden sind nicht definiert und dem Methodennamen folgt direkt ein Semikolon anstelle von geschweiften Klammern). Wenn eine Klasse eine abstrakte Methode hat, muss es eine abstrakte Klasse sein
47 Welche Konsequenzen hat die Deklaration einer abstrakten Methode?
(1) Wenn eine Klasse eine abstrakte Methode enthält, muss die Klasse eine abstrakte Klasse sein.
(2) Jede Unterklasse muss die abstrakte Methode der übergeordneten Klasse überschreiben oder sich selbst als abstrakte Klasse deklarieren.
(Empfohlenes Tutorial: Java-Kurs)
48 Was ist Kapselung und welche Vorteile hat sie? Wie ist Java gekapselt?
Kapselung: bezieht sich auf eine Methode zum Verpacken und Verbergen der Implementierungsdetails einer abstrakten Funktionsschnittstelle. Die Kapselung kann als Schutzbarriere betrachtet werden, die verhindert, dass der von der externen Klasse definierte Code zufällig auf den Code und die Daten der Klasse zugreift.
Vorteile:
(1), eine gute Kapselung kann die Kopplung reduzieren
(2), die Struktur innerhalb der Klasse kann frei geändert werden
(3), Mitgliedsvariablen können genauer gesteuert werden
(4), Ausblenden Informationen und Implementierungsdetails;
Kapseln :
(1) Ändern Sie die Sichtbarkeit von Attributen, um den Zugriff auf Attribute zu beschränken (im Allgemeinen auf privat beschränkt);
(2) Stellen Sie für jedes Wertattribut eine externe Schnittstelle bereit. Zugriff auf öffentliche Methoden. Das heißt, für den Zugang zu Privatgrundstücken. (Normalerweise werden diese Methoden als Getter- und Setter-Methoden bezeichnet, z. B. in der Entwicklung befindliche Entitätsklassen.)
49 Was sind die Ähnlichkeiten und Unterschiede zwischen Schnittstellen und Klassen?
Dasselbe:
(1), eine Schnittstelle kann mehrere Methoden haben;
(2), die Schnittstellendatei wird in einer Datei mit der Endung .java gespeichert.
(3) die Bytecode-Datei der Schnittstelle wird in einer Datei mit der Endung gespeichert in .class
in der Datei sind unterschiedlich:
(1) Schnittstellen können keine Objekte instanziieren (wie abstrakte Klassen)
(2) Schnittstellen haben keine Konstruktormethoden;
(3) Alle Methoden in Schnittstellen müssen abstrakte Methoden sein
(4 ) , die Schnittstelle kann keine Mitgliedsvariablen enthalten
(5), die Schnittstelle kann nicht von der Klasse geerbt werden;
50 abstrakte Klasse und Schnittstelle? (1) Methoden in abstrakten Klassen können Methodenkörper haben, was bedeutet, dass sie die spezifischen Funktionen der Methoden implementieren können, Methoden in Schnittstellen jedoch nicht.
(2) Mitgliedsvariablen in abstrakten Klassen können von unterschiedlichem Typ sein, während Mitgliedsvariablen in Schnittstellen nur vom öffentlichen statischen Endtyp sein können.
(3) Schnittstellen können keine statischen Codeblöcke und statischen Methoden enthalten (verwenden Sie statische modifizierte Methoden). während abstrakte Klassen statische Codeblöcke und statische Methoden haben können (4). Eine Klasse kann nur eine abstrakte Klasse erben und eine Klasse kann mehrere Schnittstellen implementieren.
Schnittstellen sind Einsiedler-Abstrakte. Bei der Deklaration einer Schnittstelle ist es nicht erforderlich, das Schlüsselwort abstract zu verwenden. Jede Methode in der Schnittstelle ist außerdem implizit abstrakt, und es ist nicht erforderlich, bei der Deklaration eine Zusammenfassung hinzuzufügen. Methoden in einer Schnittstelle Es gibt Klassen in der Schnittstelle, die die Schnittstelle implementieren, um die Methoden in der Schnittstelle zu implementieren.
1、Java到底是什么东西?
Java是一款面向对象的编程语言,是SUN(斯坦福大学网络公司)1995年推出的,在2010年被ORACLE收购
2、Java这么热门它有什么特点呢?
Java是跨平台性的语言(一处编译,到处执行)。
例如:Java在Windows平台中编写hello.java文件—>编译成hello.class文件;在不同的操作系统中安装对应的Java虚拟机(所有的系统平台必须有JVM才可以运行Java编译的文件),就可以直接运行
3、Java的三种技术架构
Java三种基本技术架构分别是:JavaSE、JavaEE、JavaME
JavaSE:是JavaEE与JavaME的基础,是非常平面话的
JavaEE:适合开发者的平台主要针对WEB应用系统的开发
JavaME:开发小型的电子消费品;比如:手机上的APP;机器上的语言(电梯、扫地机器人)
4、在编写Java程序时的注意点
(1)、Java是大小写敏感的,对应的Hello和hello是不同的
(2)、Java对于所有的类来说,类的首字母应该大写、若类名有多个单词组成,则每个单词首字母都应该大写。如:MyFirstJava
(3)、Java所有的方法名首字母都应该小写,如有多个单词组成,则后面的单词首字母要大写。如:findByName
(4)、源文件必须与类名一致
5、Java有那几个基本数据类型
Java有八种基本数据类型:byte、short、int、long、float、double、char、boolean(六种数字类型:四个整型(byte、short、int、long),两个浮点型(float、double))
byte:数据类型是8位、有符号的,以二进制补码表示的整数。用于大型数组中节约空间,用为byte变量占用的空间只有int类型的四分之一。对应的包装类:Byte,取值(27- 27-1)
short:数据类型是16位、以二进制补码表示的整数。short数据类型也可以像byte那样节约空间。一个short变量是int型变量的二分之一。对应的包装类:Short。取值(215- 215-1)
int:数据类型是32位、有符号的,以二进制补码表示的整数。一般的整型变量默认为int类型。取值(231- 231-1)
long:数据类型是64位,有符号的,以二进制补码表示的整数。这种数据类型主要使用在需要比较大整数的系统上。取值(263- 263-1)
float:数据类型是单精度、32位的浮点数。float在存储大型浮点数组的时候可以节约内存空间。默认值是0.0f。浮点数不能用来表示精确的值,如货币。
double:数据类型是双精度、64位的浮点数。浮点数的默认类型位double类型。double类型同样不能表示精确的值,如货币。默认值是0.0d。
char:类型是一个单一的16位Unicode字符。char数据类型可以存储任何字符。但只能存储一个字符
boolean:数据类型表示一位数字信息,只有两个取值:true和false。这种类型只作为一种标志来记录true\false情况,默认值是false。
6、访问权限修饰符分别是什么?
访问权限修饰符有:public、protected、default(默认不写)、private
public:最大访问权,用于对外的接口
protected:用于保护子类传递给子类一种继承的东西
default:是针对与本包的访问而设计的
private:访问权限仅限于类的内部,不能被外层的类访问
7、怎样才能运行一个程序?
所有的Java程序都是由public static viod main(String []args){}方法开始执行。
8. Welche Objekte werden in Java häufig erwähnt?
Ein Objekt ist eine Instanz einer Klasse mit Zustand und Verhalten.
Zum Beispiel: Ein Hund ist ein Objekt, sein Status umfasst: Farbe, Name, Rasse; Verhaltensweisen umfassen: Schwanzwedeln, Bellen, Fressen usw.
Softwareobjekte haben auch Status und Verhalten. Die Objekte der Software sind Attribute und das Verhalten wird durch Methoden widergespiegelt
9 Was ist eine Klasse?
Eine Klasse ist eine Vorlage, die das Verhalten und den Status eines Objekttyps beschreibt.
10 Wie werden die Methoden in der Klasse erstellt?
Beim Erstellen eines Objekts muss mindestens ein Konstruktor aufgerufen werden. Der Name des Konstruktors muss mit dem der Klasse identisch sein. Eine Klasse kann mehrere Konstruktoren haben.
11. Wie erstelle ich ein Objekt?
Objekte werden basierend auf Klassen erstellt. Verwenden Sie in Java das Schlüsselwort new, um ein neues Objekt zu erstellen. Das Erstellen eines Objekts erfordert drei Schritte:
Deklaration: Deklarieren Sie ein Objekt, einschließlich des Namens des Objekts und des Typs des Objekts.
Instanziierung: Verwenden Sie das Schlüsselwort new, um ein Objekt zu erstellen.
Initialisierung: Wenn Sie new verwenden, um ein Objekt zu erstellen, wird die Konstruktormethode aufgerufen, um das Objekt zu initialisieren.
12 Gibt es Deklarationsregeln für die Deklaration von Quelldateien?
(1). Die Quelldatei kann nur eine öffentliche Klasse haben
(2) Es kann mehrere nicht öffentliche Klassen geben
(3) Der Name der Quelldatei muss den gleichen Namen haben wie die Klasse
(4) Wenn Wenn die Quelldatei in einem Paket definiert ist, sollte sich das Importpaket in der ersten Zeile der Quelldatei befinden.
(5) Wenn die Quelldatei eine Importanweisung enthält, wird diese zwischen der Paketanweisung und der Klasse definiert. Wenn keine Paketanweisung vorhanden ist, sollte die Importanweisung am Anfang der Quelldatei stehen.
(6) Der Import Anweisung und Paketanweisung befinden sich in der Quelldatei. Alle definierten Klassen sind gültig. In derselben Quelldatei können keine unterschiedlichen Paketdeklarationen für verschiedene Klassen definiert werden
13 Was sind Variablen?
Variablen gelten als Speicher zum Speichern von Werten. Mit anderen Worten: Wenn Sie eine Variable erstellen, müssen Sie Speicherplatz im Speicher beantragen. Das Speicherverwaltungssystem weist Speicherplatz entsprechend dem Variablentyp zu, und der zugewiesene Speicherplatz kann nur zum Speichern von Daten dieses Typs verwendet werden.
14. Welche Funktion hat die Definition von Variablen?
Durch die Definition verschiedener Typen können verschiedene Arten von Zahlen (z. B. Ganzzahlen, Dezimalzahlen, Zeichen) gespeichert werden.
15 Können die verschiedenen Typen konvertiert werden?
Von niedrig nach hoch:
byte, short, char——>int——>long——>float——>double
kann automatisch konvertiert werden.
(1). Typkonvertierung kann nicht für boolesche Typen durchgeführt werden.
(2) Objekttypen können nicht in Objekte unabhängiger Klassen konvertiert werden.
(3) Bei der Konvertierung eines Typs mit großer Kapazität wird eine Typkonvertierung erzwungen ist ein erforderlicher (Typ) Werttyp. Der Konvertierungsprozess kann zu einem Überlauf oder Genauigkeitsverlust führen
(4) Die automatische Typkonvertierung muss sicherstellen, dass die Anzahl der Ziffern der Daten vor der Konvertierung kleiner ist als die Anzahl der Ziffern des Datentyps nach der Konvertierung.
(5) Die Umrechnung von Gleitkomma in Ganzzahl erfolgt direkt durch Verwerfen des Dezimalteils statt durch Runden.
Zum Beispiel: (int)23.7 == 23, (int)-23.7 == -23
16 Was sind die Java-Operatoren?
(·1) Arithmetische Operatoren: ähnlich denen in der Mathematik, hauptsächlich + - * % ++ -- (++a addiert zuerst 1 zur ursprünglichen Basis und führt dann die Operation aus, a– operiert zuerst und subtrahiert dann 1)
(2) Logische Operatoren: hauptsächlich && ||!
(3) Zuweisungsoperator: Spielt hauptsächlich die Rolle einer Zuweisung: = += -=
(4) Bedingungsoperator: Wird auch als ternärer Operator bezeichnet. Dieser Operator verfügt über drei Operanden und muss den Wert eines booleschen Ausdrucks auswerten. Der Hauptzweck dieses Operators besteht darin, zu bestimmen, welcher Wert der Variablen zugewiesen werden soll. Beispiel: int a = (20==40)?
(1), while ist die grundlegendste Schleife, ihre Struktur ist: while (Boolescher Ausdruck) {
// Schleifeninhalt
}
Solange der boolesche Ausdruck wahr ist, wird die Schleife fortgesetzt. (2) Die do...while-Schleife und die while-Schleife sind einander bekannt. Der Unterschied besteht darin, dass die do...while-Schleife mindestens einmal ausgeführt wird.
do{
//Schleifeninhalt
}while (Boolescher Ausdruck)
(3) Die Anzahl der Ausführungen der for-Schleife wird vor der Ausführung bestimmt für (Initialisierung; Boolescher Ausdruck; Aktualisierung){
// Code Aussage
}
18. Gibt es Schlüsselwörter für Schleifenstrukturen?
break: Wird hauptsächlich in Schleifenanweisungen oder switch-Anweisungen verwendet, um aus dem gesamten Anweisungsblock zu springen und die Anweisungen unterhalb der Schleife weiter auszuführen. Weiter: Anwendbar auf jede Schleifenkontrollstruktur. Ihre Funktion besteht darin, dem Programm zu ermöglichen, sofort zur nächsten Iteration der Schleife zu springen. In der for-Schleife bewirkt die continue-Anweisung, dass das Programm sofort zur update-Anweisung springt. In while- und do...while-Schleifen springt das Programm sofort zur Beurteilungsanweisung des booleschen Ausdrucks.
19. Was ist die Zahlenklasse?
Wenn integrierte Datentypen als Objekte verwendet werden, packt der Compiler die integrierten Typen in Wrapper-Klassen. Die Zahlenklasse gehört zum Paket java.lang. Alle Wrapper-Klassen (Integer, Long, Byte, Double, Float, Short) sind Unterklassen der abstrakten Klasse Number.
20. Was ist die Mathe-Klasse in Java?
Enthält Eigenschaften und Methoden zum Ausführen grundlegender mathematischer Operationen, wie z. B. elementare Exponenten, Objekte, Quadratwurzeln und trigonometrische Funktionen. Mathematische Methoden werden alle in statischer Form definiert. Es kann direkt in der Hauptfunktion über die Math-Klasse aufgerufen werden.
21. Was ist der Unterschied zwischen Boden, Rund und Decke in Mathe?
ceil: Gibt die kleinste ganze Zahl zurück, die größer oder gleich dem Führungsparameter ist (zum Beispiel: Math.ceil(23.2) ==24 statt Rundung)
floor: Gibt die größte ganze Zahl zurück, die kleiner oder gleich dem Führungsparameter ist (z Beispiel: Math.ceil(23.7) ==23 statt Runden)
Runde: Es bedeutet Runden, der Algorithmus ist Math.round(x+0.5), das heißt, addiere 0,5 zur ursprünglichen Zahl und runde dann ab. Math.round(11.4) ist also gleich 11, Math.round(11.5) ist gleich 12 und Math.round(-11.5) ist gleich -11.
22. Was ist die Character-Klasse und welche Methoden hat diese Klasse?
Zeichen: Es handelt sich um eine Wrapper-Klasse, die von der Java-Sprache für den integrierten Basisdatentyp char bereitgestellt wird.
Die Hauptmethoden von Character sind: isLetter() – ob es sich um einen Buchstaben handelt; toString – gibt die Länge der Zeichenfolge zurück, die Zeichenfolgenlänge beträgt nur 1; isLowerCase() – ob es sich um einen Großbuchstaben handelt; es ist ein Kleinbuchstabe.
23. Welche Escape-Zeichen werden durch die Zeichen dargestellt, denen ein Backslash () vorangestellt ist?
Häufig verwendete Escape-Zeichen sind: t (fügen Sie an dieser Stelle im Text eine Tabulatortaste ein)
d (fügen Sie an dieser Stelle im Text eine Zurück-Taste ein)
n (fügen Sie an dieser Stelle im Text eine neue Zeile ein)
r (Fügen Sie an dieser Stelle im Text eine neue Zeile ein.)
24 Welche Vorsichtsmaßnahmen gelten für die String-Klasse von Java?
Strings sind Objekte in Java, und Java stellt die String-Klasse zum Erstellen und Bearbeiten von Strings bereit. Die String-Klasse kann nicht geändert werden. Sobald ein String-Objekt erstellt wurde, kann sein Wert nicht geändert werden. Wenn Sie die Zeichenfolge ändern müssen, sollten Sie die Klasse StringBuffer oder StringBuilder verwenden.
25. Was ist der Unterschied zwischen der length()-Methode, dem length-Attribut und der size()-Methode?
Die length()-Methode ist für Strings vorgesehen, Sie müssen deren length()-Methode verwenden.
Die length()-Eigenschaft gilt für Arrays Verwenden Sie das Längenattribut.
size() ist für generische Sammlungen vorgesehen. Wenn Sie sehen möchten, wie viele Elemente dieses generische Element enthält, rufen Sie einfach diese Methode auf, um dies zu überprüfen.
26. Welche Methoden gibt es, Saiten zu verbinden?
Es gibt zwei Typen:
(1), String 1.concat (String 2)
(2), die häufigere Verwendung besteht darin, die Operation „+“ zum Verketten von Zeichenfolgen zu verwenden, z. B. „Hallo“ + „Wort“. " + "!";
27. Was ist der Unterschied zwischen den Klassen StringBuffer und StringBuilder in Java?
Die StringBuilder-Klasse wurde in Java 5 vorgeschlagen. Der größte Unterschied zwischen ihr und StringBuffer besteht darin, dass die Methoden von StringBuilder nicht threadsicher sind (nicht synchron auf sie zugegriffen werden kann). Da StringBuilder einen Geschwindigkeitsvorteil gegenüber StringBuffer hat, wird StringBuilder in den meisten Fällen verwendet. In Fällen, in denen die Anwendung jedoch lineare Sicherheit erfordert, muss die StringBuffer-Klasse verwendet werden.
28. Wie implementiert StringBuffer Objektänderungen?
String Buffer verfügt hauptsächlich über die Methode append() zum Vervollständigen der Verbindung, die Methode insert() zum Vervollständigen der Addition und die Methode replace() zum Vervollständigen der Ersetzung.
Wie zum Beispiel: buf.append("hi");
buf.insert(0,"Hello"); //Füge
vor dem ersten Inhalt hinzu buf.insert(buf.length,'Hello'); Daten am Ende
String str = buf.reverse().toString(); //Kehren Sie den Inhalt um und konvertieren Sie ihn in einen String
buf.replace(6,11,"yes"); //Ersetzen Sie den Inhalt von Wort
29. Können Arrays als Parameter an Methoden übergeben werden?
Ja
30. Wie erhalte ich die aktuelle Uhrzeit und passe die Uhrzeit an?
Aktuelle Uhrzeit ausdrucken: Daten data = new Date(); data ist die aktuelle Uhrzeit!
Datums- und Uhrzeitformat festlegen, SimpleDateFormat
SimpleDateFormat sc = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss“);
System.out.printf(sc.format(time to beconverted))
31. Wie schläft Java?
Sleep() versetzt den aktuellen Thread in einen stagnierenden Zustand (blockiert den aktuellen Prozess) und gibt die Nutzung der CPU auf. Der Zweck besteht darin, zu verhindern, dass der aktuelle Thread die vom Thread allein erhaltenen CPU-Ressourcen belegt Lassen Sie anderen Threads eine gewisse Zeit für die Ausführung. Sie können das Programm für einige Millisekunden in den Ruhezustand versetzen. Tread.sleep(1000*3) //3 Sekunden lang schlafen
32. Wie richtet man bestimmte Teile des Datumsformats ein, z. B. Jahr, Monat, Tag, Tag, Minute und Sekunde?
verwendet die Kalenderklasse. Die Calender-Klasse ist eine abstrakte Klasse, die Objekte bestimmter Unterklassen in der tatsächlichen Verwendung implementiert. Der Prozess der Objekterstellung ist für Programmierer transparent und muss nur mit der Methode getInstance erstellt werden.
33. Gibt es eine zu verwendende Klasse oder Methode?
Das Paket java.util.regex enthält hauptsächlich die folgenden drei Klassen:
Pattern-Klasse: Das Pattern-Objekt ist eine kompilierte Darstellung eines regulären Ausdrucks. Die Pattern-Klasse hat keinen öffentlichen Konstruktor. Um ein Pattern-Objekt zu erstellen, muss man zunächst seine öffentliche statische kompilierte Methode aufrufen, die ein Pattern-Objekt zurückgibt.
Matcher-Klasse: Das Matcher-Objekt ist eine Engine, die Eingabezeichenfolgen kompiliert und abgleicht.
PatternSyntaxExeption: PatternSyntaxExeption ist eine nicht obligatorische Ausnahmeklasse, die einen Syntaxfehler in einem regulären Ausdrucksmuster darstellt.
34. Welche Verbindung besteht zwischen Konstruktoren und Methoden?
Das Konzept der Konstruktormethode: Wenn ein Objekt erstellt wird, ruft das System automatisch die Konstruktormethode auf. Wenn kein benutzerdefinierter Konstruktor vorhanden ist, ruft das System den Standardkonstruktor auf. Konstruktoren können überladen, aber nicht umgeschrieben werden. Die Parameterliste ist die Grundlage und der Standard für ihre Identifizierung, ähnlich wie der Name einer Person, die zwar gleich ist, aber einen unterschiedlichen Ausweis hat.
Beim Anpassen des Konstruktors gleicht das System den Konstruktor automatisch ab, um das Objekt basierend auf der Art und Menge der übergebenen Parameter zu initialisieren.
35. Was ist die Scannerklasse? So erstellen Sie ein Scannerobjekt
java.util.Scanner ist eine neue Funktion von Java5. Wir können Eingaben vom Benutzer erhalten.
Scanner sc = new Scanner();
36. Was ist der Unterschied zwischen den Methoden next() und nextLine() der Klasse Scanner, um die Eingabezeichenfolge zu erhalten?
next():
(1), muss gültige Zeichen lesen, bevor die Eingabe beendet wird.
(2), wenn zwischen gültigen Zeichen für die Eingabe ein Leerzeichen auftritt, wird es automatisch entfernt.
(3) Nur durch Eingabe Gültige Zeichen können später als Trennzeichen oder Abschlusszeichen verwendet werden. next() kann keine Zeichenfolge mit Leerzeichen erhalten.
nextLine():
(1) mit Enter als Abschlusszeichen alle Zeichen vor dem Wagenrücklauf;
(2), Sie können Leerzeichen erhalten
37 Welche drei Arten von Ausnahmen gibt es in Java?
Geprüfte Ausnahmen: Die häufigste Art von geprüften Ausnahmen sind Ausnahmen, die durch Benutzerfehler oder Probleme verursacht werden, die vom Programmierer nicht vorhersehbar sind. Wenn Sie beispielsweise eine Datei öffnen möchten, die nicht vorhanden ist, tritt eine Ausnahme auf. Diese Ausnahmen können zur Kompilierungszeit nicht einfach ignoriert werden.
Laufzeitausnahmen: Laufzeitausnahmen sind Ausnahmen, die von Programmierern vermieden werden können. Im Gegensatz zu geprüften Ausnahmen können Laufzeitausnahmen zur Kompilierungszeit ignoriert werden.
Fehler: Fehler sind keine Ausnahmen, sondern Probleme, die außerhalb der Kontrolle des Programmierers liegen. Fehler werden im Code oft ignoriert. Beispiel: Wenn der Stapel überläuft, tritt ein Fehler auf, der beim Kompilieren nicht überprüft werden kann.
38. Was ist der Unterschied zwischen Ausnahme und Fehler? Alle Ausnahmen erben die Throwable-Klasse, was bedeutet, dass alle Ausnahmen ein Objekt sind.
Im Allgemeinen können Ausnahmen in zwei Teile unterteilt werden:
(1) Fehler: bezieht sich auf einen Fehler, der vom Programm nicht behandelt werden kann, was auf einen schwerwiegenden Fehler hinweist, der auftritt, wenn die Anwendung ausgeführt wird. Zum Beispiel der OutOfMemoryError, der auftritt, wenn der JVM ausgeführt wird und der Port beim Programmieren des Sockets belegt ist, und andere Fehler, die vom Programm nicht behandelt werden können. (2) Ausnahme: Ausnahmen können in Laufzeitausnahmen und Kompilierungsausnahmen unterteilt werden Die Klasse hat zwei Hauptunterklassen: die IOException-Klasse und die RuntimeException-Klasse.
Verwenden Sie Try- und Catch-Schlüsselwörter, um Ausnahmen abzufangen, und platzieren Sie Try/Catch-Codeblöcke dort, wo Ausnahmen auftreten können. Der Code innerhalb des Try/Catch-Blocks wird zu geschütztem Code.
40. Was ist der Unterschied zwischen Würfen und Wurfschlüsselwörtern?
Wenn eine Methode eine geprüfte Ausnahme nicht abfängt, muss die Methode mit dem Schlüsselwort throws deklariert werden. Das Schlüsselwort throws wird am Ende der Methodensignatur platziert. Sie können throw auch verwenden, um eine Ausnahme auszulösen, unabhängig davon, ob es sich um die letzte Instanziierung handelt oder ob sie gerade erst abgefangen wurde.
Eine Methode kann so deklariert werden, dass sie mehrere durch Kommas getrennte Ausnahmen auslöst.
41. Wie kann ich Ausnahmen in Java anpassen?
Sie können Ihre eigene Ausnahmeklasse schreiben:
(1), alle Ausnahmen müssen Unterklassen der Throwable-Klasse sein
(2), wenn Sie eine Prüfzeitausnahme schreiben möchten, müssen Sie Exception erben; ), um eine Laufzeitausnahme zu schreiben, müssen Sie die RuntimeException()-Ausnahme erben
42. Was ist Vererbung? Was sind die Merkmale der Vererbung? Vererbung liegt vor, wenn eine Unterklasse die Merkmale und Verhaltensweisen der übergeordneten Klasse erbt, sodass das Unterklassenobjekt (Instanz) über die Instanzfelder und -methoden der übergeordneten Klasse verfügt, oder wenn die Unterklasse Methoden von der übergeordneten Klasse erbt, sodass die Unterklasse hat das gleiche Verhalten wie die übergeordnete Klasse.
Merkmale:
(1) Die Unterklasse verfügt über nicht-private Attribute und Methoden der übergeordneten Klasse.
(2) Die Unterklasse kann ihre eigenen Attribute und Methoden haben. 3) Unterklassen können die Methoden der übergeordneten Klasse auf eigene Weise implementieren.
(4) Die Java-Vererbung kann nur eine Einzelvererbung sein, es kann jedoch eine Mehrfachvererbung sein. und Mehrfachvererbung ist: A erbt B, B erbt C, sodass Klasse C gemäß der Beziehung die übergeordnete Klasse von Klasse B und B die übergeordnete Klasse von A ist. Dies ist ein Merkmal des Unterschieds zwischen Java-Vererbung und C ++ .
Vererbung kann mit den beiden Schlüsselwörtern „extends“ und „Implements“ implementiert werden. Darüber hinaus erben alle Klassen von java.lang.Object. Wenn eine Klasse nicht über das geerbte Schlüsselwort verfügt, erbt sie standardmäßig die Object-Klasse (diese Klasse befindet sich im Paket java.lang, daher ist kein Paketimport erforderlich).
Super-Schlüsselwort
: Das Super-Schlüsselwort kann für den Zugriff auf übergeordnete Klassenmitglieder verwendet werden und wird verwendet, um auf die übergeordnete Klasse zu verweisen, die das aktuelle Objekt erbt.
: eine Referenz auf dich selbst. finales Schlüsselwort
: Durch die Deklaration einer Klasse kann die Klasse als eine Klasse definiert werden, die nicht vererbt werden kann, d Sind die Merkmale des Konstruktors der übergeordneten Klasse? Unterklassen können den Konstruktor (Konstruktor und Konstruktor (mit Parametern)) der übergeordneten Klasse nicht erben. Wenn der Konstruktor der übergeordneten Klasse jedoch Parameter hat, muss der Supper-Schlüssel explizit im Konstruktor der übergeordneten Klasse übergeben werden Die Klasse ist ein Konstruktor mit einer entsprechenden Parameterliste:
Wenn die übergeordnete Klasse einen Konstruktor ohne Argumente hat, ist es nicht erforderlich, supper im Konstruktor der untergeordneten Klasse zu verwenden, um die übergeordnete Klasse aufzurufen, wenn das Schlüsselwort super verwendet wird Wird nicht verwendet, ruft das System automatisch den parameterlosen Konstruktor der übergeordneten Klasse auf.
45. Was ist Override, was ist Überlastung und was ist der Unterschied zwischen ihnen?
: Die Unterklasse schreibt den Implementierungsprozess der Methode „Erlaubter Zugriff“ der übergeordneten Klasse neu und schreibt sie. Der Rückgabewert und die Parameter können nicht geändert werden, dh die Shell kann nicht geändert werden und der Kern kann nicht geändert werden. Der Vorteil des Überschreibens besteht darin, dass Unterklassen ihr eigenes Verhalten nach Bedarf anpassen können. Mit anderen Worten: Unterklassen können die Methoden der übergeordneten Klasse nach Bedarf implementieren. Überschreibende Methoden können keine geprüften Ausnahmen oder Ausnahmen auslösen, die umfassender sind als die Deklaration der überschreibenden Methode. Überladung
: Überladung erfolgt in einer Klasse, der Methodenname ist derselbe, aber die Parameter sind unterschiedlich und die Rückgabetypen können gleich oder unterschiedlich sein. Jede überladene Methode (oder jeder überladene Konstruktor) muss über eine eindeutige Liste von Parametertypen verfügen. Die häufigste Ursache ist die Konstruktorüberladung. Unterschied: Methodenumschreibung und -überladung sind unterschiedliche Erscheinungsformen des Polymorphismus in Java. Das Umschreiben ist eine Erscheinungsform des Polymorphismus zwischen Elternklassen und Unterklassen. (1) Methodenüberladung ist eine Klasse, die mehrere Methoden mit demselben Namen und unterschiedlichen Parametern oder derselben Anzahl von Parametern, unterschiedlichen Typen und unterschiedlicher Reihenfolge definiert, was zu einer Überladung der Methode führt.
(2) Das Überschreiben einer Methode ist eine Methode in einer Unterklasse, die denselben Namen wie die Methode der übergeordneten Klasse hat, die Anzahl der Parameter mit dem Typ übereinstimmt und der Rückgabewert derselbe ist. Dies wird als Überschreiben bezeichnet (3 ) Methodenüberladung Es ist ein polymorpher Ausdruck einer Klasse, und das Überschreiben der zweiten Methode ist ein polymorpher Ausdruck der Unterklasse und der übergeordneten Klasse.
46、什么是抽象类,如何定义抽象类与方法?
抽象类:抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量,成员方法和构造方法的访问方式和普通类不一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用:
Die übergeordnete Klasse enthält allgemeine Methoden für die Sammlung untergeordneter Klassen. Da die übergeordnete Klasse selbst jedoch abstrakt ist, können diese Methoden nicht verwendet werden. In Java stellen abstrakte Klassen eine Vererbungsbeziehung dar. Eine Klasse kann nur eine abstrakte Klasse erben, aber eine Klasse kann mehrere Schnittstellen implementieren.
Abstrakte Klasse definieren: Verwenden Sie die abstrakte Klasse, um abstrakte Klassen in der Java-Sprache zu definieren.
Abstrakte Methode definieren: Wenn Sie eine Klasse entwerfen möchten, die eine spezielle Mitgliedsmethode enthält und die spezifische Implementierung der Methode durch ihre Unterklasse bestimmt wird, können Sie die Methode in der übergeordneten Klasse deklarieren. Das Schlüsselwort „Abstract“ wird auch zum Deklarieren abstrakter Methoden verwendet. Abstrakte Methoden enthalten nur einen Methodennamen und keinen Methodenkörper (abstrakte Methoden sind nicht definiert und dem Methodennamen folgt direkt ein Semikolon anstelle von geschweiften Klammern). Wenn eine Klasse eine abstrakte Methode hat, muss es eine abstrakte Klasse sein
47 Welche Konsequenzen hat die Deklaration einer abstrakten Methode?
(1) Wenn eine Klasse eine abstrakte Methode enthält, muss die Klasse eine abstrakte Klasse sein.
(2) Jede Unterklasse muss die abstrakte Methode der übergeordneten Klasse überschreiben oder sich selbst als abstrakte Klasse deklarieren.
48. Was ist eine Verpackung und was sind ihre Vorteile? Wie ist Java gekapselt?
Kapselung: bezieht sich auf eine Methode zum Verpacken und Verbergen der Implementierungsdetails einer abstrakten Funktionsschnittstelle. Die Kapselung kann als Schutzbarriere betrachtet werden, die verhindert, dass der von der externen Klasse definierte Code zufällig auf den Code und die Daten der Klasse zugreift.
Vorteile:
(1), eine gute Kapselung kann die Kopplung reduzieren
(2), die Struktur innerhalb der Klasse kann frei geändert werden
(3), Mitgliedsvariablen können genauer gesteuert werden
(4), Ausblenden Informationen und Implementierungsdetails;
Kapseln :
(1) Ändern Sie die Sichtbarkeit von Attributen, um den Zugriff auf Attribute zu beschränken (im Allgemeinen auf privat beschränkt);
(2) Stellen Sie für jedes Wertattribut eine externe Schnittstelle bereit. Zugriff auf öffentliche Methoden. Das heißt, für den Zugang zu Privatgrundstücken. (Normalerweise werden diese Methoden als Getter- und Setter-Methoden bezeichnet, z. B. in der Entwicklung befindliche Entitätsklassen.)
49 Was sind die Ähnlichkeiten und Unterschiede zwischen Schnittstellen und Klassen?
Dasselbe:
(1), eine Schnittstelle kann mehrere Methoden haben;
(2), die Schnittstellendatei wird in einer Datei mit der Endung .java gespeichert.
(3) die Bytecode-Datei der Schnittstelle wird in einer Datei mit der Endung gespeichert in .class
in der Datei sind unterschiedlich:
(1), die Schnittstelle kann keine Objekte instanziieren (wie die abstrakte Klasse)
(2), die Schnittstelle hat keine Konstruktormethode
(3), alle Methoden in der Schnittstelle müssen abstrakte Methoden sein;
(4) , die Schnittstelle kann keine Mitgliedsvariablen enthalten
(5), die Schnittstelle kann nicht von der Klasse geerbt werden;
50 der Unterschied zwischen abstrakter Klasse und Schnittstelle? (1) Methoden in abstrakten Klassen können Methodenkörper haben, was bedeutet, dass sie die spezifischen Funktionen der Methoden implementieren können, Methoden in Schnittstellen jedoch nicht.
(2) Mitgliedsvariablen in abstrakten Klassen können von unterschiedlichem Typ sein, während Mitgliedsvariablen in Schnittstellen nur vom öffentlichen statischen Endtyp sein können.
(3) Schnittstellen können keine statischen Codeblöcke und statischen Methoden enthalten (verwenden Sie statische modifizierte Methoden). während abstrakte Klassen statische Codeblöcke und statische Methoden haben können (4). Eine Klasse kann nur eine abstrakte Klasse erben und eine Klasse kann mehrere Schnittstellen implementieren.
Schnittstellen sind Einsiedler-Abstrakte. Bei der Deklaration einer Schnittstelle ist es nicht erforderlich, das Schlüsselwort abstract zu verwenden. Jede Methode in der Schnittstelle ist außerdem implizit abstrakt, und es ist nicht erforderlich, bei der Deklaration eine Zusammenfassung hinzuzufügen. Methoden in einer Schnittstelle Es gibt Klassen in der Schnittstelle, die die Schnittstelle implementieren, um die Methoden in der Schnittstelle zu implementieren.
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonFragen zum Vorstellungsgespräch für Java-Praktikanten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!