3

Java解释器是否支持自动加载功能或扩展他的“寻找类”功能的可能性?

在 PHP 中有一个名为 spl_autoload_register 的函数(有关详细信息,请参见http://www.php.net/manual/en/function.spl-autoload-register.php),它强制解释器执行我自己的回调函数。寻找缺课。在我的回调函数中,我可以将文件包含在预期的类中。

背景想法是我想在软件层之间动态切换。

例如:
如果第 2 层中存在类 x_L2,则应忽略底层第 1 层中的类 x_L1。实际上我用一个通用的镜像类 x 解决了这个问题,它必须从最高可用层中的类继承。但是当您必须维护数百个类时,这种方式很容易出错。

提前致谢。

4

4 回答 4

1

看来您正在尝试编写自定义类加载器

IBM 有很好的文档来帮助您。

于 2012-01-04T10:06:14.190 回答
1

这可以通过使用不同的类加载器来完成,例如URLClassLoader. 然后,您将使用loadClass. 是的,它还支持本地和远程资源。

于 2012-01-04T10:00:43.403 回答
1

您可以编写自己的ClassLoader子类,并使用它loadClass()来代替默认的。

于 2012-01-04T10:02:55.380 回答
0

类由它们的包标识,因为类可以由 PHP 中的命名空间标识。为了使用特定的类,您可以简单地使用限定名称。

public mypackage.mysubpackage.Myclass myInstanceofMyClass;

或者您可以只导入所需的类:

import mypackage.mysubpackage.Myclass;

您不能在同一个包中拥有与另一个类同名的类。这是一个类型的重复定义。我不知道包含回调函数。

于 2012-01-04T10:00:20.250 回答