第7章 一个java源文件中只能有一个public类

一个Java源文件中最多只能有一个public类,

1)当有一个public类时,源文件名必须与之一致,否则无法编译,

2)如果源文件中没有一个public类,则文件名与类中没有一致性要求。

至于main()不是必须要放在public类中才能运行程序。

备注:

第一:

Test7.java源文件:
class Test5{
    int i = 1;
}
public class Test6{
    int i = 2;
    public static void main(String[] args){
    System.out.println("main method");
    }
}

运行Test7.java出错,因为主类中有问题,即public类中类名Test6和文件名Test7不是一样的,所以出错。说明了文件名必须与public类的类名一致,(如果文件中有public类)

第二:

Test3.java源文件:
class Test1{
    int i = 1;
}
class Test2{
     int i = 2;
     public static void main(String[] args){
      System.out.println("main method");
     }
}

运行Test3.java的结果:运行的Test2 因为没有Test3.class文件生成,同时这里也说明了包含main()的类如果想运行则不一定要是public的。

改正:Test3.java源文件:

class Test1{  int i=0;}class Test3{  int i = 2;  publicstaticvoid main(String[] args){    System.out.println("main method");  }}

运行改正后的Test3.java的结果:运行成功

  

时间: 2024-08-07 00:15:16

第7章 一个java源文件中只能有一个public类的相关文章

浅谈为什么一个java源文件中只能有一个public类?

声明,本篇文章为转载 转载 http://blog.csdn.net/bareheadzzq/article/details/6562211 最近在一个java文件中实现了几个类,其中一个声明为public类型,但编译器报错:后来将public去掉,也即文件中没有一个public类,程序正常运行,有些困惑,最后通过本文章找到答案,为以后方便查找,转载,感谢作者. 结论: 一个Java源文件中最多只能有一个public类,当有一个public类时,源文件名必 须与之一致,否则无法编译,如果源文件中

为什么一个java源文件中只能有一个public类

问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同. 为什么一个java源文件中只能有一个public类? 在java编程思想(第四版)一书中有这样3段话(6.4 类的访问权限): 1.每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的公共接口,用pub

一个java源文件中为什么只能有一个public类。

我们都遇到过一个源文件中有多个java类,但当第一个类使用public修饰时,如果下面还有类使用public修饰,会报错.也就是是说一个java源文件最多只能有一个public类. 当有一个public类时,源文件名必须与之一致,否则无法编译,如果源文件中没有一个public类,则文件名与类中没有一致性要求. java虚拟机实例通过调用某个类的main()来运行一个Java程序,而这个main()必须是public static void 并接收一个字符串数组作为参数,任何拥有这样一个main(

一个java 源文件,可以有多个类,但是只能有一个public修饰的类

每个Java源文件是一个java编译器的一个编写单元.编译器每编写一个.java文件(编译单元),会输出很多与java文件类的名称对应的从class文件,不仅仅限制于public修饰的.但是public类是用来编译单元存在的公开接口.如果没有的话,运行会报错,提示找不到加载的类. public 就相当于一个主类.但是只能有一个主类,而且名字和java源文件名称一致,作为唯一的接口.

1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?-Java面试题答案

以下内容来自:https://blog.csdn.net/ssyes123/article/details/50839612 一个.java类中是可以有多个类. 但是,在多个类中,有且只有一个public类,且public类的类名必须与*.java的文件名相一致. ------------------------------------------ JVM虚拟机实例通过调用某个类的main()来执行程序,这个main()必须时public static void 并接受一个字符串作为参数,但是该

小结在一个java源文件当中可以有多个类,但是为什么只能有一个public类呢?而当这个类被修饰为public的话,为什么源文件名必须要与类名相同呢?

Java编程思想中的一段话: 当编写一个java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元).每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类的名称必须与文件的名称相同(包括大小写,但不包括文件的后缀名.java).每个编译单元只能有一个public类,否则编译器就不会接受.如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为它们不是public类,而且它们主要用来为主public类提供支持. 理解: 每编

关于Java源文件中public类的问题

结论: 一个Java源文件中最多只能有一个public类,当有一个public类时,源文件名必须与之一致,否则无法编译: 如果源文件中没有一个public类,则文件名与类中没有一致性要求: 至于main()不是必须要放在public类中才能运行程序. 实验如下:Test3.java源文件: class Test1{     int i = 1; } class Test2{     int i = 2;     public static void main(String[] args)   

一个java文件中可包含多个main方法

java中的main方法是java应用程序的入口,java程序在运行时,首先调用执行main方法.但并不是说java中只能有一个main方法,不同类中都可以包含main方法.当JVM进行编译时,会提示选择其中一个main方法作为编译的入口.

一个.java文件中是否可以有多个外部类

前段时间,有个同事问到我这个问题:一个.java文件中是否可以有多个外部类? 答案:可以有多个外部类,但最多只能有一个被public修饰的class. 且若这个.java文件中有一个public类型的class,则这个class名需与.java文件名一致. 举例: 文件A.java里有如下外部类 public class A1会报错,报错信息是如下:提示public 类型的A1必须定义在它自己的文件中 因此一个java文件中是不能同时有两个public 类型的class的.