簡體   English   中英

我可以在一個 java 包中定義多個公共類嗎

[英]can i define more than one public class in a java package

我想創建一個包含一些類的 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);
    }
 }  

是否可以創建這樣的包。 如果可能的話,我應該給它什么文件名“Box.java”或“circle.java”

包中可以有多個public類,但每個公共類都需要在自己的.java文件中聲明。 如果你想讓這些不同.java文件中的public類包含在同一個包中,只需將package mypack; 在這些.java文件的最開始。 這是示例,您應該如何命名這些文件:

  1. Box.java :

     package mypack; public class Box {...}
  2. Circle.java :

     package mypack; public class Circle {...}

請注意,文件應以其中包含的public類的名稱命名(如果其中存在public類)。

順便說一句,請注意 Java 語言中的命名約定 - 在查看代碼時可能會節省您和其他人的時間 - 類名稱應以大寫字母開頭,因此在您的情況下,它應該是Circle class 和Circle.java ,而不是circle class和circle.java

您只能在源文件中創建一種public類型(如類/接口等),如下面來自 Java 文檔的解釋(重點是我的)。

要創建包,您需要為包選擇一個名稱(命名約定將在下一節討論),並在每個包含類型(類、接口、枚舉和注釋)的源文件的頂部放置一個具有該名稱的包語句類型)要包含在包中。 如果將多種類型放在一個源文件中,則只能公開一種,並且必須與源文件同名

我建議您在此處閱讀有關如何在 Java 中創建和管理包和源/類文件的信息。

另請注意,您可以在單個源文件中包含多個非公共(默認訪問)類型,如下所示:

在 Circle.java 文件中:

package mypack;

class Box { //non-public (default) class
 //code for Box class
} 

public class Circle {//public class
  //code for circle class
} 

此外,在包內,您可以創建任意數量的public類(遵循上述規則)。 但是,作為一個好的做法,根據它們的相關性將你的類正確地分組到不同的包中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM