[英]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.