【问题标题】:Is it possible to have 2 classes with the same name and in the same package?是否可以在同一个包中拥有 2 个具有相同名称的类?
【发布时间】:2014-08-13 02:40:04
【问题描述】:

我正在开发一个 grails 应用程序,我需要修改一个插件中的 groovy 类,所以我决定重写该类,所以我的插件中有这些方法和类:

def example = new a();
a.method();

class a {
   void method() {
      println "2";
   }
}

所有这些都在插件内部,所以我想在我的项目的同一个包中创建另一个类,以更改方法,但是如何设置我的新类而不是插件的运行?还是不可能?

class a {
   void method() {
      println "4";
   }
}

【问题讨论】:

    标签: java grails groovy overriding


    【解决方案1】:

    是的,你只需要确保你的类在插件版本之前的类路径中。

    【讨论】:

    • 它起作用了,我首先设置了 groovy 类路径并且它起作用了。谢谢
    【解决方案2】:

    是的,你可以。它被称为类阴影。但大多数时候我会建议反对它。你只需要让jvm在插件类之前加载你的类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 2018-07-04
      • 1970-01-01
      • 2014-05-25
      • 2011-10-16
      • 2014-05-03
      • 1970-01-01
      相关资源
      最近更新 更多