Java千问:源文件名称必须与类名相同吗?

咱们在初学Java语言的时候,老师给咱们讲的第一个例子每每是用记事本编写打印“Hello World”的程序。当写完程序后,老师通常都会要求咱们把源文件的名称命名为与类名相同,好比,类的名称叫A,那么源文件的名称也叫A。不少同窗按老师的要求作了,也成功的运行出了“Hello World”。没按老师要求作的,可能连编译都没法成功。因而不少初学者都认为,Java程序的源文件名必须与类名相同,那么真实状况究竟是不是这样呢?咱们慢慢道来。
Java程序的源文件名与类名之间存在以下关系:html

  1. 一个Java源文件中能够定义多个类
  2. 源文件中定义的类,最多只能有一个类被public关键字修饰
  3. 若是源文件中有被public关键字修饰所修饰的类,那么源文件名必须与public所修饰的类同名。

根据以上规则,咱们就明白了:当年老师让咱们把源文件命名为与类名相同的名称,实际上是由于咱们所定义的那个类前面有个public关键字。接下来咱们深刻研究一下几种特殊状况:ide

源文件中若是没有public所修饰的类,源文件该如何命名
这个问题其实很简单,若是源文件中没有任何一个类被public关键字所修饰,那么咱们能够用任意名称来命名这个源文件,只要源文件的名称符合命名规范就能够了。学习

一个源文件中若是定义了多个类,编译以后会造成几个.class文件
你们看下图,咱们在一个源文件当中定义了3个类,那么编译以后会产生多少个.class文件呢?Java千问:源文件名称必须与类名相同吗?通过编译以后,一共产生了3个.class文件。而且这3个.class文件的名称刚好与源文件中3个类的类名相对应。Java千问:源文件名称必须与类名相同吗?
经过这个实验咱们就能够获得一个结论:源文件与编译后的字节码文件的名称和数量其实没有一一对应关系,字节码文件的名称和数量实际上是由源文件中类的名称和数量决定的。视频

主方法必须定义在public类当中吗
有一种说法,认为主方法必须被定义到public类当中才能运行,其实这也是一种讹传。你们看图1,图1当中主方法并无被定义到public类当中,可是咱们照样能经过相应的命令执行这个主方法Java千问:源文件名称必须与类名相同吗?htm

经过这篇小短文,我想初学Java的朋友可以完全弄清楚Java源文件名、字节码文件名以及类名三者之间的关系了吧?blog

若是但愿系统学习Java语言,能够点击这里观看个人视频课程,有问题也能够加入个人QQ群291839907一块儿讨论!get

相关文章
相关标签/搜索