在某些 Android 的 Java 源代码中,我看到涉及类类型上的"class"成员的表达式,例如在构造 ComponentName 对象时:
cname := new ComponentName( this, SomeClass.class );
这不会在 Oxygene for Java 中编译,编译器声称该类型上没有这样的静态成员"类"。
什么是等效的氧语法?
Java
中类类型的"class"成员不是 Java 对象模型的一部分,而是由 Java 编译器直接解释的。 有时被称为"编译器魔术"。
Oxygene 中等效的编译器魔术是 typeof() 内置函数:
cname := new ComponentName( self, typeof(SomeClass) );