大家好,
Java公共类A有一个公共属性int a; 当(def a(A.))然后(.-a a) 时,会显示错误 A (错误的名称:a)。
为什么会这样?
[编辑]
// 用于从clojure访问A访问模式的愚蠢示例
public class A {
public int af() { return 2; }
public int af1(int x) { return x+2; }
public int a = 1;
static public int as;
static public int afs() { return 20; }
static public int afs1(int x) { return x+20; }
}
$ javac A.java
$ clojure -cp "."
user => (import A)
user => (def a (A.))
user => (def x (A.))
user => (def a1 (A.))
user => (.-a a1)
1
user => (.-a x)
1
user => (.-a a)
执行错误 (NoClassDefFoundError) 在 java.lang.ClassLoader/defineClass1 (ClassLoader.java:-2)。
A (名称错误: a)
;; 为什么不允许使用a?