Java中类似PHP的自动加载程序

Java中类似PHP的自动加载程序,java,playframework,autoloader,Java,Playframework,Autoloader,Java解释器是否支持Autoloader函数或扩展其“查找类”函数的可能性 在PHP中有一个名为spl_autoload_register的函数(详细信息请参见),当解释器查找缺少的类时,它会强制解释器执行我自己的回调函数。在我的回调函数中,我可以包含包含预期类的文件 背景想法是,我想在软件层之间动态切换 例如: 如果第2层中存在类x_L2,则应忽略底层第1层中的类x_L1。实际上,我用一个通用镜像类x解决了这个问题,它必须从最高可用层的类继承。但是,当您必须维护数百个类时,这种方法很容易出错

Java解释器是否支持Autoloader函数或扩展其“查找类”函数的可能性

在PHP中有一个名为spl_autoload_register的函数(详细信息请参见),当解释器查找缺少的类时,它会强制解释器执行我自己的回调函数。在我的回调函数中,我可以包含包含预期类的文件

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

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


提前感谢。

类由它们的包标识,因为类可以由PHP中的名称空间标识。 为了使用特定的类,只需使用限定名即可

public mypackage.mysubpackage.Myclass myinstanceofmycyclass

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

导入mypackage.mysubpackage.Myclass


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

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

您可以编写自己的子类,并使用其
loadClass()
而不是默认的子类。

您似乎正在尝试编写自定义的类加载器

IBM在这方面的经验可以帮助您