Codename忽略了一个静态初始化块

时间:2015-03-30 10:42:00

标签: codenameone

似乎静态初始化块在CN1中不起作用,例如,注册自定义外部类:

public class User {

    static {
        Util.register("User", User.class);
    }

    ...
}

然而,在CN1博客之一中我发现这是注册externalisable类的推荐方法。无法在文档中找到答案。我错过了什么或者CN1实际上不支持静态初始化块吗?

1 个答案:

答案 0 :(得分:1)

静态初始化工作正常。

你做过的事情虽然不起作用......例如:

Object o = storage.readObject(...);

假设o是User,那么该类没有被初始化,因此没有静态初始化器,没有寄存器调用,序列化代码也会失败。

这就是为什么我们总是在主类的init(Object)方法中注册,而不是在静态初始化器中注册。