Cava 修饰符

static修饰符

static 修饰符支持用于定义类函数。注:cava中仅支持成员变量定义,不支持类变量定义,所以在变量定义时使用 static 修饰符会引发编译错误:

class Example {
    static int i; // 编译时报错
    static int main() {
        return 0;
    }
}
ERROR cava.common.Diagnostics : benchmark/example.cava:1.15-2.16 [30001] static variable is not support:i

访问控制修饰符

cava对以下修饰符进行了语法上的兼容:

  • public

  • protected

  • private

  • final

不过修饰符存在与否并不影响类成员的访问控制:无论类上成员变量的声明是否带有以上修饰符,均等价于使用 public 修饰,即不对成员的访问进行限制。

class Example {
    public double PI; // <==
    Example() {
        PI = 3.1415926;
    }
    static int main() {
        Example example = new Example();
        double a = example.PI;
        return 0;
    }
}

一般建议,在编写cava代码时不使用此类修饰符,以免造成误解。