大家好,
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?