groovy会自动生成no-args构造函数吗?

时间:2015-06-20 12:22:53

标签: groovy constructor

在java中,当您没有显式指定构造函数时,会生成 no-args构造函数,并且当您编写构造函数(带参数)时,您现在需要明确指定< strong> no-args构造函数。

在groovy中,你还需要在编写自己的构造函数(带参数)时明确指定这个 no-args构造函数,否则gvm会隐式生成这个?

1 个答案:

答案 0 :(得分:2)

  

在groovy中,你还需要明确指定这个   编写自己的构造函数时使用no-args构造函数(带参数)   )或gvm隐式生成这个?

GVM与此无任何关系。

如果定义任何接受参数的构造函数,则不会生成no-arg构造函数。如果你想要它,你需要定义它。

$ cat Demo.groovy 

public class Demo {
    public Demo(String s) {}
}

$ groovyc Demo.groovy 

$ javap Demo

Compiled from "Demo.groovy"
public class Demo implements groovy.lang.GroovyObject {
  public static transient boolean __$stMC;
  public Demo(java.lang.String);
  protected groovy.lang.MetaClass $getStaticMetaClass();
  public groovy.lang.MetaClass getMetaClass();
  public void setMetaClass(groovy.lang.MetaClass);
  public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
  public java.lang.Object getProperty(java.lang.String);
  public void setProperty(java.lang.String, java.lang.Object);
}
相关问题