Heim >Java >javaLernprogramm >Gedankennotizen zur JAVA-Programmierung: Klassen wiederverwenden

Gedankennotizen zur JAVA-Programmierung: Klassen wiederverwenden

(*-*)浩
(*-*)浩nach vorne
2019-10-17 15:59:322166Durchsuche

Die Wiederverwendung von Code ist eine der vielen überzeugenden Funktionen von Java. Um jedoch revolutionär zu sein, reicht es nicht aus, Code kopieren und ändern zu können.

Gedankennotizen zur JAVA-Programmierung: Klassen wiederverwenden

Kompositionssyntax

Platzieren Sie einfach die Objektreferenz in der neuen Klasse

Initialisieren Sie die Referenz, in der Objekte definiert sind

, sie können immer initialisiert werden, bevor der Konstruktor aufgerufen wird

Im Konstruktor einer Klasse

kurz bevor die Objekte verwendet werden sollen, --- Lazy Initialisierung

Instanzinitialisierung

Vererbungssyntax

Sofern nicht ausdrücklich angegeben ist, dass Sie von anderen Klassen erben möchten, erben Sie implizit von Javas Standard-Stammklasse Object inherits.

Basisklasse initialisieren

Proxy

Viele Entwicklungstools unterstützen dies nicht.

Wählen Sie zwischen Sammlungen und Vererbung

Sowohl Komposition als auch Vererbung ermöglichen die Platzierung von Unterobjekten in einer neuen Klasse, die Vererbung erfolgt implizit

geschütztes Schlüsselwort

ist für den Klassenbenutzer privat, für jede abgeleitete Klasse, die diese Klasse oder alles andere in derselben Klasse erbt. Für Klassen im Paket ist es zugänglich

Aufwärtstransformation

Ihre exportierte Klasse wird in eine Akkumulation konvertiert und bewegt sich im Vererbungsdiagramm nach oben, wodurch sie zu Upcasting wird.

Upcasting ist eine Konvertierung von einem spezialisierteren Typ zu einem mehr Allgemeiner Typ, daher ist es immer sicher.

Gedankennotizen zur JAVA-Programmierung: Klassen wiederverwenden

letztes Schlüsselwort

Kann nicht geändert werden

Endgültige Daten

Ein Feld, das sowohl statisch als auch endgültig ist, belegt nur einen Speicherplatz, der nicht geändert werden kann.

Für Basistypen sind die Endwerte konstant. Für Objektreferenzen. final macht die Referenz konstant.

Sobald eine Referenz so initialisiert ist, dass sie auf ein Objekt verweist, kann sie nicht mehr geändert werden, um auf ein anderes Objekt zu verweisen.

Java tut dies Bietet keine Möglichkeit, ein Objekt unveränderlich zu machen.

Diese Einschränkung gilt auch für Arrays, die ebenfalls Objekte sind.

Per Konvention werden Felder, die sowohl statisch als auch endgültig sind, in Großbuchstaben ausgedrückt , mit Unterstrichen, die jedes Wort trennen.

Leeres Finale

Das sogenannte leere Finale bedeutet, dass es als endgültiges Feld deklariert wird, für das jedoch kein Anfangswert angegeben ist.

In jedem Fall stellt der Compiler sicher, dass vor der Verwendung ein leeres Finale initialisiert werden muss.

Endgültige Parameter

Ermöglicht die Deklaration des Parameters als endgültig in der Parameterliste. Dies bedeutet, dass Sie das Objekt, auf das die Parameterreferenz in der Methode verweist, nicht ändern können.

Endgültige Methode

1 Jede geerbte Klasse kann ihre Bedeutung nicht ändern.

2. Effizienz: Wenn Sie eine Methode als endgültig angeben, stimmen Sie zu, dass der Compiler sie in Inline-Aufrufe umwandelt >

finale und private Schlüsselwörter

Alle privaten Methoden in einer Klasse werden implizit als final bezeichnet

Da die private Methode nicht verwendet werden kann, kann sie nicht überschrieben werden .

Sie können den letzten Modifikator zur privaten Methode hinzufügen, aber er fügt der Methode keine zusätzliche Bedeutung hinzu.

„Override“ erscheint nur, wenn eine Methode Teil der Schnittstelle von ist eine Basisklasse.

Ein Objekt muss in seinen Basistyp umgewandelt und dieselbe Methode aufgerufen werden.

Die letzte Klasse

darf nicht vererbt werden und hat keine Unterklassen.

Alle Methoden in allen finalen Klassen werden implizit als final bezeichnet und können nicht überschrieben werden.

Initialisierung und Klassenladen

class Insect {
    private int i = 9 ;
    protected int j ;
    Insect(){
        System.out.println("Insect constructor.");
        System.out.println("i= "+i+", j="+j);
        j = 39 ;
    }
    static int printInit(String s){
        System.out.println(s);
        return 47 ;
    }
}
public class Beetle  extends  Insect {
    private int k = printInit("Beetle.k initialized . ");
    public Beetle(){
        System.out.println("k = "+ k);
        System.out.println("j = " + j);
    }
    private static int x2 = printInit("static Beetle.x2 initialized ") ;
    public static void main(String[] args) {
        System.out.println("Beetle constructor.");
        Beetle b = new Beetle();
    }
}
输出:
static Beetle.x2 initialized 
Beetle constructor.
Insect constructor.
i= 9, j=0
Beetle.k initialized . 
k = 47
j = 39

Das obige ist der detaillierte Inhalt vonGedankennotizen zur JAVA-Programmierung: Klassen wiederverwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen