如何用多个顶级类编译单个java文件
这是我的java代码:如何用多个顶级类编译单个java文件,java,class,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);
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");
}
}
}
import java.io.*;
导入java.util.*;
公立班学生
{
字符串名;
智力年龄;
浮动cgpa;
}
公共类getdata
{
公共静态void main(字符串参数[])
{
int n;
扫描仪输入=新扫描仪(系统输入);
n=in.nextInt();
学生[]s=新学生[n];
对于(int i=0;i使班级学生成为内部班级:
import java.io.*;
import java.util.*;
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");
}
}
public static class student
{
String name;
int age;
float cgpa;
}
}
import java.io.*;
导入java.util.*;
公共类getdata
{
公共静态void main(字符串参数[])
{
int n;
扫描仪输入=新扫描仪(系统输入);
n=in.nextInt();
学生[]s=新学生[n];
对于(inti=0;i而言,一般规则是在Java文件中只能有一个公共类
如果希望它在任何地方都可见(这取决于您的注释),可以在getdata中将该类声明为公共静态
它将是这样的:
public class getdata {
public static class user {
//class definition here
}
}
现在,您的用户类可以在任何地方进行实例化。您可以创建一个.class
文件,然后只需运行要编译的类
javac FileName.java
java文件名\u containsMainMethod
编辑类不能是公共类
乙二醇
考虑以下类被保存为名称<代码>测试.java < /C> >,并包含单名测试两个类。java < /p>
class A
{
public static void main(String[] a)
{
System.out.println("Hello from A");
}
}
class B
{
public static void main(String[] a)
{
System.out.println("Hello from B");
}
}
现在要运行它,您需要执行以下操作
javac Test.java
从类A获取输出
JavaA
从类B获取输出
javab
注意从类中删除公共访问修饰符
您可以像前面提到的那样创建一个内部类,或者如果您不需要从该文件外部访问该类,则只需删除公共标记即可。这将允许您将多个顶级类放在一个文件中。用于创建公共类的文件名是什么mpile it?一个java文件中只能有一个公共顶级类。请将其设置为类(公共静态类student
),否则它将无法编译:)请坚持以大写字母开始上课。为什么@AlexanderPetrov的OP也可以这样说?我会在你的帖子中评论它,因为你在这里的声誉是最高的,因此可能应该知道得更好。但是如果第二个类是私有的
或者<代码>受保护的
。对吗?它不需要是私有的或受保护的。例如,您可以将其声明为公共静态。这样,它可以从任何地方访问。