我可以在Java包中定义多个公共类吗?

不,在一个Java文件中定义多个类时,您需要确保其中只有一个类是公共的。如果一个公共类有多个,则将生成一个编译时错误。

示例

在下面的示例中,我们有两个类Student和AccessData,它们都在同一个类中,并且都声明为public。

import java.util.Scanner;

public class Student {

   private String name;

   private int age;

   Student(){

      this.name = "Rama";

      this.age = 29;

   }

   Student(String name, int age){

      this.name = name;

      this.age = age;

   }

   public void display() {

      System.out.println("name: "+this.name);

      System.out.println("age: "+this.age);

   }

}

public class AccessData{

   public static void main(String args[]) {

      //从用户读取值

      Scanner sc = new Scanner(System.in);

      System.out.println("Enter the name of the student: ");

      String name = sc.nextLine();

      System.out.println("Enter the age of the student: ");

      int age = sc.nextInt();

      Student obj1 = new Student(name, age);

      obj1.display();

      Student obj2 = new Student();

      obj2.display();

   }

}

编译时错误

在编译时,以上程序会产生以下编译时错误。

AccessData.java:2: error: class Student is public, should be declared in a file named Student.java

public class Student {

       ^

1 error

要解决此问题,您需要将一个类转移到一个单独的文件中,或者,

  • 在不包含公共静态void main(String args)方法的类之前,删除公共声明。

  • 使用包含main方法的类名来命名文件。

在这种情况下,请在学生类之前取消公众活动。将该文件命名为“ AccessData.java”

以上是 我可以在Java包中定义多个公共类吗? 的全部内容, 来源链接: utcz.com/z/350235.html

回到顶部