Heim  >  Artikel  >  Java  >  Warum sollte der Java-Dateiname mit dem Klassennamen identisch sein?

Warum sollte der Java-Dateiname mit dem Klassennamen identisch sein?

(*-*)浩
(*-*)浩Original
2019-05-22 15:45:536574Durchsuche

Weil: Java interpretiert und ausgeführt wird. Zur Laufzeit werden nicht alle Klassendateien im Speicher abgelegt. Stattdessen wird bei einem Import das entsprechende Dateiverzeichnis aufgerufen, um die entsprechende Klassendatei zu finden.

Warum sollte der Java-Dateiname mit dem Klassennamen identisch sein?

Eine öffentliche Klasse kann von jeder Klasse im Projekt referenziert werden. Importieren Sie einfach die entsprechende Klassendatei, bevor Sie sie verwenden. Eine Eins-zu-Eins-Korrespondenz zwischen Klassennamen und Dateinamen kann es der virtuellen Maschine erleichtern, die entsprechenden Klasseninformationen im entsprechenden Pfad (Paketnamen) zu finden. Wenn Sie dies nicht tun, wird es schwierig und teuer, es zu finden.

Zusammenfassung:

In einer Quelldatei (.java) können Klassen, die nicht mit public geändert werden, auch denselben Dateinamen haben.

Es kann zu Inkonsistenzen zwischen dem Klassennamen und dem Dateinamen in einer Quelldatei kommen, diese kann jedoch nicht mit public geändert werden.

Wenn es in einem Paket keine öffentliche geänderte Klasse gibt, dann I Ich denke, dieses Paket scheint bedeutungslos zu sein, da die Schnittstelle nicht für „Kundenprogrammierer“ bereitgestellt werden kann. Selbst wenn die nicht mit public geänderte Klasse eine öffentlich geänderte statische Methode enthält, haben „Kundenprogrammierer“ keine Zugriffsberechtigung.

Klassen, deren Quelldateien nicht mit public geändert werden, dienen hauptsächlich der „Unterstützung“ für mit public geänderte Klassen.

Es ist am besten, nicht viele Klassen in eine .java-Quelldatei zu schreiben.

Die Hauptmethode muss nicht unbedingt unter einer öffentlichen modifizierten Klasse ausgeführt werden. Aber die Hauptmethode muss öffentlich geändert werden

„Denken in Java“-Erklärung:

为Java创建一个源码文件的时候,它通常叫作一个“编辑单元”(有时也叫作“翻译单元”)。每个编译单元都必须有一个以.java结尾
的名字。而且在编译单元的内部,可以有一个公共(public)类,它必须拥有与文件相同的名字(包括大小写形式,但排除.java文件扩
展名)。如果不这样做,编译器就会报告出错。每个编译单元内都只能有一个 public类(同样地,否则编译器会报告出错)。那个编译
单元剩下的类(如果有的话)可在那个包外面的世界面前隐藏起来,因为它们并非“公共”的(非public),而且它们由用于主public
类的“支撑”类组成。编译一个.java文件时,我们会获得一个名字完全相同的输出文件;但对于.java文件中的每个类,它们都有一个.
class扩展名。因此,我们最终从少量的.java文件里有可能获得数量众多的.class文件。如以前用一种汇编语言写过程序,那么可能已
习惯编译器先分割出一种过渡形式(通常是一个.obj文件),再用一个链接器将其与其他东西封装到一起(生成一个可执行文件),或
者与一个库封装到一起(生成一个库)。但那并不是Java的工作方式。一个有效的程序就是一系列.class文件,它们可以封装和压缩到
一个JAR文件里(使用Java1.1提供的jar工具)。Java解释器负责对这些文件的寻找、装载和解释(注释①)。 
①:Java并没有强制一定要使用解释器。一些固有代码的Java编译器可生成单独的可执行文件。

Das obige ist der detaillierte Inhalt vonWarum sollte der Java-Dateiname mit dem Klassennamen identisch sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist das Javaweb-Framework?Nächster Artikel:Was ist das Javaweb-Framework?