我是Java新手,遇到了一些问题。我希望一个班级成为另一个班级。很难用抽象的方式来解释它,所以我举一个例子。

public class WorldGuard extends WorldGuardPlugin {
    public WorldGuard(Plugin parent) {
        WorldGuardPlugin plugin = parent.getServer().getPluginManager().getPlugin("WorldGuard")
        // make plugin the actual class
    }
}


WorldGuard在这里应该像某种包装器。构造时,它会获得一个参数parent,并在此基础上找到WorldGuardPlugin的实例。该类现在应该成为该实例。
在JavaScript中很简单,我只返回实例,但在Java中无法做到这一点。

最佳答案

我不太确定您要做什么。一个班级不能“成为另一个班级”。但是也许您的问题只是当您应该使用普通函数时尝试使用构造函数。也许您想做的是这样的:

public class WorldGuard extends WorldGuardPlugin
{
  public static WorldGuard getFromPlugin(Plugin parent)
  {
    return (WorldGuard) parent.getServer().getPluginManager().getPlugin("WorldGuard");
  }
}


那将通过父对象获取该对象,并将其作为WorldGuard对象返回。

09-18 19:59