Maison  >  Article  >  Java  >  Pourquoi le nom du fichier Java devrait-il être le même que le nom de la classe ?

Pourquoi le nom du fichier Java devrait-il être le même que le nom de la classe ?

(*-*)浩
(*-*)浩original
2019-05-22 15:45:536665parcourir

Parce que : Java est interprété et exécuté. Il ne met pas tous les fichiers de classe en mémoire pendant l'exécution. Au lieu de cela, lorsqu'il rencontre une importation, il accède au répertoire de fichiers correspondant pour trouver le fichier de classe correspondant.

Pourquoi le nom du fichier Java devrait-il être le même que le nom de la classe ?

Pour une classe publique, elle peut être référencée par n'importe quelle classe du projet, il suffit d'importer son fichier de classe correspondant avant de l'utiliser. La correspondance biunivoque entre les noms de classe et les noms de fichiers peut permettre à la machine virtuelle de trouver les informations de classe correspondantes dans le chemin correspondant (nom du package). Si vous ne le faites pas, il sera difficile et coûteux de le trouver.

Résumé :

Dans un fichier source (.java), les classes qui ne sont pas modifiées avec public peuvent également avoir le même nom de fichier.

Il peut y avoir des incohérences entre le nom de classe et le nom de fichier dans un fichier source, mais il ne peut pas être modifié avec public.

S'il n'y a pas de classe publique modifiée dans un package, alors je pense que ce package I Cela semble dénué de sens, car l'interface ne peut pas être fournie aux "programmeurs clients". Même si la classe qui n'est pas modifiée avec public contient une méthode statique modifiée par le public, les "programmeurs clients" n'ont pas la permission d'y accéder.

Les classes dont les fichiers sources ne sont pas modifiés avec public sont principalement des "supports" pour les classes modifiées par public.

Il est préférable de ne pas écrire plusieurs classes dans un seul fichier source .java.

La méthode main ne doit pas nécessairement être exécutée sous une classe publique modifiée. Mais la méthode principale doit être publiquement modifiée

Explication "Penser en Java" :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn