java - 如何编译具有多个顶级类的单个java文件

标签 java class

这是我的java代码:

import java.io.*;
import java.util.*;
public class student
{
    String name;
    int age;
    float cgpa;
}
public class getdata
{
    public static void main(String args[])
    {
        int n;
        Scanner in=new Scanner(System.in);
        n=in.nextInt();
        student[] s=new student[n];
        for(int i=0;i<n;i++)
        {
            s[i]=new student();
            s[i].name=in.nextLine();
            s[i].age=in.nextInt();
            s[i].cgpa=in.nextFloat();
        }
        System.out.println();
        System.out.println("Name\tAge\tCGPA\n");
        for(int i=0;i<n;i++)
        {
            System.out.println(s[i].name+"\t"+s[i].age+"\t"+s[i].cgpa+"\n");
        }
    }
}

当我编译程序时,它给出了每个类应该位于不同文件中的错误。我怎样才能编译这个而不出现任何错误? (我知道这不是最佳实践,但我需要在同一个文件中执行此操作。)

最佳答案

一般规则是 Java 文件中只能有一个公共(public)类

如果您希望它在任何地方都可见(这是基于您的评论),您可以在 getdata 中将该类声明为公共(public)静态。

它会是这样的:

public class getdata {
   public static class user {
     //class definition here
  }
}

现在您的 User 类可以在任何地方实例化。

关于java - 如何编译具有多个顶级类的单个java文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38289898/

相关文章:

class - Visual Basic 6 类属性类型可以是枚举吗

java - 将远程调试附加到 tanuki 服务包装应用程序

java - 如何在这样的 java 静态方法中实例化 BigInteger?

java - 使用pig将数据存储到Hbase中

java - 诺基亚 S60 Java SDK?

c++ - 完成一个类型的数据

java - 从领域对象构建DTO的设计

c++ - 在 C++ 中使用 <initializer_list>

python - 调试期间的私有(private)变量

c++ - 在类结构中, "this"是如何工作的?