我试图在一个文件中包含两个或更多个类,但java只是向我抛出此错误消息! 如何在1个文件中包含2个或更多?
Exception in thread "main" java.lang.ExceptionInInitializerError
at javaapp.main(javaapp.java:25)
Caused by: java.lang.RuntimeException: Uncompilable source code - class functions1 is public, should be declared in a file named functions1.java
at functions1.<clinit>(javaapp.java:11)
... 1 more
Java Result: 1
public class functions1 {
public String Print(String text){
System.out.println(text);
return text;
}
}
public class javaapp {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
functions1 Func = new functions1();
Func.Print("You're learning Java!!!!!");
}
}
答案 0 :(得分:2)
Juned Ahsan的回答是正确的,但如果你想在同一个文件中使用2个类,你有一个选项。使用inner class
。检查此示例
public class OuterClass {
int outerVariable = 100;
class InnerClass {
int innerVariable = 20;
int someMethod(int parameter) {
//Do something.
}
}
public static void main(String[] args) {
OuterClass outer = new OuterClass();
InnerClass inner = outer.new InnerClass();
System.out.println(inner.someMethod(3));
}
}
还要从oracle检查this。
答案 1 :(得分:1)
您只能在编译单元或.java文件中拥有一个公共类。如果您只是从公共说明符中取出functions1
类
public class functions1 {
转换为
class functions1 {
答案 2 :(得分:-1)
先生,您应该使用内部类,这是一个更好的选择,您可以私下访问您的类字段,您的类代码将是独立的