Sie finden die class
Datei benötigen, um tatsächlich die Klasse zu verwenden, aber Das bedeutet nicht, dass Sie die Quelldatei benötigen.
Werfen wir einen Blick auf die Möglichkeiten mit den Klassen Dog
und Animal
Klasse. Unter der Annahme, dass die Dog
Klasse eine Unterklasse der Animal
Klasse ist, können wir folgendes tun:
Wenn Sie sowohl Animal.class
und Animal.java
haben, können Sie eine Dog
Klasse. Wenn Sie Animal.class
haben, aber nicht Animal.java
, können Sie eine Dog
Klasse erstellen. Wenn Sie Animal.class
nicht haben, aber Animal.java
haben, können Sie eine Dog
Klasse machen. (Das bedeutet, dass die Animal.java
-Datei kompiliert werden müssen, wenn die Dog.java
Datei kompiliert wird.)
Wenn Sie nicht haben, entweder Animal.class
noch Animal.java
, können Sie keine Dog
Klasse.
Hier ist eine tabellarische Version des obigen:
Have Animal.java? Have Animal.class? Can make Dog class?
----------------- ------------------ -------------------
Yes Yes --> Yes
Yes No --> Yes
No Yes --> Yes
No No --> No
Wenn Sie die class
Datei haben, gibt es Programme, die die class
Datei dekompilieren kann eine menschenlesbare java
Quelldatei zu erzeugen, jedoch Es wird nicht die genaue Quelle wiederherstellen, die zur Erstellung der Datei class
verwendet wurde.
Wenn jedoch in diesem Fall nur die Klasse Animal
um eine neue Dog
Klasse erweitert werden muss, ist der Quellcode selbst nicht erforderlich.
Denken Sie daran - immer wenn eine Klasse in Java erstellt wird, wird die Klasse Object
immer erweitert. Auch wenn wir keinen Zugriff auf den Quellcode der Klasse Object
haben, können wir eigene Klassen erstellen, da wir Zugriff auf die Object.class
in Java haben.
Dieser Fall ist ähnlich - solange wir die class
Datei für eine Klasse haben, können wir es in vollem Umfang verwenden. Das einzige, was fehlt, ist die eigentliche Implementierung, die im Quellcode aufgeführt ist.
Sie benötigen keine anderen Klassen zum Dekompilieren. – shodanex