大家好,
Java 的 public 类 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 不被允许?