首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我可以编译一个名称与类不同的java文件吗?

当然可以。在Java中,您可以将多个类编译到一个Java文件中。这可以通过将所有类放入一个源文件并使用分隔符 ; 分隔它们来实现。例如,您可以将多个类放入一个名为 MyClasses.java 的文件中,如下所示:

代码语言:java
复制
// MyClasses.java
public class MyClass1 {
    // 类实现
}

public class MyClass2 {
    // 类实现
}

public class MyClass3 {
    // 类实现
}

要编译这个文件,您可以使用Java编译器 javac

代码语言:txt
复制
javac MyClasses.java

这将生成三个名为 MyClass1.classMyClass2.classMyClass3.class 的编译后的类文件。

如果您想要将这些类放入不同的Java文件中,您可以使用以下命令将它们编译为一个文件:

代码语言:txt
复制
javac -d . MyClass1.java MyClass2.java MyClass3.java

这将生成三个名为 MyClass1.classMyClass2.classMyClass3.class 的编译后的类文件,并将它们放入当前目录。

请注意,这里的答案主要是关于Java编程语言的知识,与云计算和腾讯云无关。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • java文件中public 类名要和文件名保持一致

    一个Java文件可以有多个类作为内部类/Adapter类/其它类,但是只能有一个public类,且类名必须和文件名一致。这是这类语言的一个不好的地方。 在现实情况中,经常有一些很小的类由几个类共同需要,因此无法作为内部类,而且接口关系必须设置为public,这样就导致了大量很小的.Java程序,每个都只有几百字节。 这类语言的另一个问题是一个类的所有实现的方法都必须包含在同一个文件中。在swing应用程序中,经常导致长达一两百K字节的源程序,行数达到三四千行,搞得JBuilder奇慢无比。 一个 .java 文件,可以有多个类,但是文件名只能有一个,用哪一个类名来充当文件名呢?其实文件名是无所谓的,因为将来用 javac 进行编译的时候,最终会生成多个 .class 文件,每一个类对应个 .class 文件。运行时只要运行对应的 .class 文件就可以了,这时 .java 文件就显得没什么用了( 运行时不需要 ),那还管它叫什么名字。 但是当你的类被 public 修饰时,此时文件名必须和该类保持一致(例如 public class A{} 只能放在 A.java 文件中,不然在用 javac 编译时会提示错误:类 A 是公共的,应在名为 A.java 的文件中声明)。也就是说在同一个 .java 文件中,不应该出现2个或2个以上的 public class 。 如果有一个public class类,就应该让文件名和此类名相同;那如果没有呢,即所有的 class 都没有修饰符,那么可以给该文件随便起名字,甚至可以不和任意一个类同名,哪怕是汉字名称都可以,但是后缀还是要有.java 的 。 注:有很多初学者 ( 我也是 ) 可能会认为文件名应该也和 main 方法所在类有关系,其实不然。main 方法只是程序的一个入口,老师讲“一个程序只能有一个入口”,好象是在说只能有一个 main 方法,其实,只要你高兴,就可以在所有类里都写上 main 方法,给程序提供N多个入口,但是最后你运行程序的时候也只能从其中的一个入口进去,这就是 main 的作用( 程序入口 )。(这也就是为什么你会发现,程序员在做单元测试时,会往自己做的很多类里面添加 main 方法,因为他要为自己做的东西添加运行入口,从而能方便测试。)

    02
    领券