![](/img/trans.png)
[英]How to execute functions of multiple classes dynamically from a package which contains multiple java source files?
[英]import a java class from a java file which contains multiple classes
我正在經歷一種情況,我在單個 java 文件中為自定義異常創建了多個類。 如下
public class IllegalArgumentException extends Throwable {
public IllegalArgumentException(String exceptionString) {
super(exceptionString);
}
}
class InvalidDirectoryException extends Throwable {
public InvalidDirectoryException(String exceptionString) {
super(exceptionString);
}
}
class InvalidJsonFormatException extends Throwable {
public InvalidJsonFormatException(String exceptionString) {
super(exceptionString);
}
}
class InvalidFileTypeException extends Throwable {
public InvalidFileTypeException(String exceptionString) {
super(exceptionString);
}
}
當我嘗試導入 class 之一時,它沒有解決。 我只能導入 IllegalArgumentException class。 我不想為每個 class 制作多個 java 文件。 那么有沒有辦法做到呢?
我不想為每個 class 制作多個 java 文件。
如果您想從其他軟件包訪問它們,則必須這樣做。 在 Java 中,每個文件必須只有一個公共 class。 這是一條規則。 您不希望為每個 class 使用單獨的文件可能有正當的理由,但 Java 並不關心這一點。
您可以嘗試在單個外部 class 中創建每個 static 內部類,然后使用import static
,但這是一種不好的做法,因為我會鼓勵使用內部類的目的,所以我會濫用. 但你可以。
創建一個通用公共 class 並將所有其他類作為內部類放入主公共 class 中。
例子:
public class AllExeptions{
class IllegalArgumentException extends Throwable {
public IllegalArgumentException(String exceptionString) {
super(exceptionString);
}
}
class InvalidDirectoryException extends Throwable {
public InvalidDirectoryException(String exceptionString) {
super(exceptionString);
}
}
class InvalidJsonFormatException extends Throwable {
public InvalidJsonFormatException(String exceptionString) {
super(exceptionString);
}
}
class InvalidFileTypeException extends Throwable {
public InvalidFileTypeException(String exceptionString) {
super(exceptionString);
}
}
}
If you are not familiar with the Java inner class, then I recommend you this nince inner class tutorial by TutorialsPoint: https://www.tutorialspoint.com/java/java_innerclasses.htm
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.