我可以在java包中定义多个公共类

-1 java packages class public

我想创建一个包含一些类的java包.但是不能从包外面访问非公共类,所以我写这个代码保存为Box.java

package mypack;
public class Box
{
int length,breadth,height;
public Box(int l,int b,int h)
    {
    length=l;
    breadth=b;
    height=h;
    }
public  int vol()
    {
    return length*breadth*height;
    }
} 

public class circle
{
 int r;
 public circle(int rr)
    {
    r=rr;
    }
 public float area()
    {
    return (3.14f*r*r);
    }
 }  
Run Code Online (Sandbox Code Playgroud)

是否可以创建这样的包.如果可能的话我应该给它什么文件名'Box.java'或'circle.java'

Prz*_*kal 5

public包中可以有多个类,但每个公共类都需要在自己的.java文件中声明.如果您希望public不同.java文件中的这些类包含在同一个包中,只需将它们放在package mypack;这些.java文件的最开头即可.这是一个示例,您应该如何命名这些文件:

  1. Box.java:

    package mypack;
    public class Box {...}
    
    Run Code Online (Sandbox Code Playgroud)
  2. Circle.java:

    package mypack;
    public class Box {...}
    
    Run Code Online (Sandbox Code Playgroud)

请注意,文件应使用其中public包含的类名命名(如果public类存在于其中).

顺便说一句,要注意Java语言中的命名约定 - 在查看代码时可能会节省您和其他人的时间 - 类名应该以大写字母开头,因此在您的情况下它应该是CircleCircle.java,而不是circle类和circle.java.