Groovy sınıfı ile yapıcıları kullanırken bir sorun yaşıyorum.Groovy constructors
Data.groovy
isimli bir dosyada ContentEntry
iç sınıfında bir sınıf var. Data
. ContentEntry
ile
static void initContent(nid, uid)
{
curContent = new ContentEntry()
curContent.nid = nid;
curContent.uid = uid;
}
olarak tanımlanan:
class ContentEntry
{
public int nid, uid
private tags = [:]
public ContentEntry()
{
}
ContentEntry(int nid, int uid)
{
this.nid = nid
this.uid = uid
}
//omitted rest of the class
Ama projeyi çalıştırırken bana aşağıdaki hatayı veriyor:
Exception in thread "main" org.codehaus.groovy.runtime.metaclass.MethodSelectionException:
Could not find which method <init>() to invoke from this list:
public it.softit.Data$ContentEntry#<init>(it.softit.Data, int, int)
public it.softit.Data$ContentEntry#<init>(it.softit.Data)
O var ben Data
yönteminden ContentEntry
örneklerini başlatmak istiyor Kurucular, bir parametre olarak geçirilen dış sınıfın bir örneğini örtük olarak gerektiriyormuş gibi. Merak ediyorum neden ..
3 yemek anwers teşekkür, hepinizi dile getirdi .. Java programlama 6 yıl içinde örtük referans hakkında bu şeyi hiç bilmiyordum. Onları statik olarak beyan edemediğinizden, onları normal sınıflar olarak ilan ettim. – Jack