2012-06-03 416 views

回答

1

我不明白你的问题。我只是用Java的Short来试一试 - 它也没有默认的构造函数。

一切按预期工作,除非你没有初始化委托对象,你会得到一个NPE。

是否有可能您是using @Delegate incorrectly?委托不会修饰现有的类,它允许您在自己的类中使用现有的类方法。这就像extend,但没有类继承。

示例代码:

class Foo { 
    @Delegate Short num 
    String bar 
    String toString() { "$bar: $num" } 
} 

def f = new Foo(bar: 'bob', num: 34 as Short) 
println f // OK 
println f.doubleValue() // OK 

f = new Foo() 
println f.doubleValue() // NPE 

(可替换地,提供了一些有用的信息,例如实际的错误和堆栈跟踪,和示例代码,将获得您更多有用的响应)

相关问题