问题
没有static
关键字的示例1可以使用。
使用static
关键字的示例2不起作用。
为什么顶级课程StaticClass
不能static
? Eclipse说:
Groovy:类'StaticClass'的修饰符不正确。
课程StaticInnerClass
可以修改为static
。
示例1有效
Start.groovy
assert "static field" == StaticClass.StaticInnerClass.staticField
StaticClass.groovy
class StaticClass { // Just "class", no "static" modifier
static class StaticInnerClass {
static String staticField = "static field"
}
}
示例2不起作用
Start.groovy
assert "static field" == StaticClass.StaticInnerClass.staticField
StaticClass.groovy
static class StaticClass { // Modifier "static" does not work
static class StaticInnerClass {
static String staticField = "static field"
}
}
可能相关的问题
版本
答案 0 :(得分:5)
只有嵌套类可以是静态的(就像在Java中一样)。
如果您只是不希望您的类可以实例化,您可以使用static关键字限定类中的各个定义,例如:
class MyClass {
static public count = 1
static incr() {
count = count + 23
}
}