Java 比恩希尔内部阶级
我想将我的java代码用作beanshell脚本,但beanshell抛出异常,表示在命名空间中找不到类。beanshell中没有内部类,或者有其他用法吗 我的脚本如下所示:Java 比恩希尔内部阶级,java,beanshell,Java,Beanshell,我想将我的java代码用作beanshell脚本,但beanshell抛出异常,表示在命名空间中找不到类。beanshell中没有内部类,或者有其他用法吗 我的脚本如下所示: ....... ....... java code ....... ....... MyClass m = new MyClass(); //Error here: MyClass not fount in namespace class MyClass { } 我在脚本中使用内部类,在脚本中声明 谢谢, Bil
.......
.......
java code
.......
.......
MyClass m = new MyClass(); //Error here: MyClass not fount in namespace
class MyClass {
}
我在脚本中使用内部类,在脚本中声明
谢谢,
Bilal可能是一个愚蠢的答案,但MyClass定义是否需要超出其在文件中的使用范围?BeanShell不是线性地处理脚本吗 在文档中快速查看并不能说明这一点,但对以下脚本的测试对我来说肯定很好:
class MyClass {
}
MyClass m = new MyClass();
也许这是一个愚蠢的答案,但是否MyClass定义需要高于其在文件中的使用?BeanShell不是线性地处理脚本吗 在文档中快速查看并不能说明这一点,但对以下脚本的测试对我来说肯定很好:
class MyClass {
}
MyClass m = new MyClass();
BeanShell不支持类定义 您可以使用BeanShell内部类语法来实现接口:
x = new MyInterface() {
overriddenMethod() {
// ....
}
}
v = x.overriddenMethod();
或
在您的情况下,我认为您最好使用脚本对象方法:
myClass() {
// methods ...
return this;
};
m = myClass(); // new instance
BeanShell不支持类定义 您可以使用BeanShell内部类语法来实现接口:
x = new MyInterface() {
overriddenMethod() {
// ....
}
}
v = x.overriddenMethod();
或
在您的情况下,我认为您最好使用脚本对象方法:
myClass() {
// methods ...
return this;
};
m = myClass(); // new instance
附加信息:匿名内部类as参数不能使用,因此需要将实现分配给变量。(单位:吉米) 不起作用:
object.setContext(new SomeInterface(){
//implement methods
});
作品:
SomeInterface ctx = new SomeInterface(){
//implement methods
});
object.setContext(ctx);
希望它能帮助别人。其他信息:匿名内部类as参数不能使用,因此需要将实现分配给变量。(单位:吉米) 不起作用:
object.setContext(new SomeInterface(){
//implement methods
});
作品:
SomeInterface ctx = new SomeInterface(){
//implement methods
});
object.setContext(ctx);
希望它能帮助别人。Bilal,查看您的代码,以找出它的问题所在,这将非常有帮助。顺便说一句,Beanshell还支持内部类和(自v2.0以来)匿名内部类。顺便说一句,Beanshell还支持内部类和(自v2.0以来)匿名内部类。它不起作用。我找到了另一种不用内部类的方法。但这是2。我从班里逃走的时间。我已经读过很多次了,beanshell接受内部课程,但它对我来说从来都不起作用。我找到了另一种不用内部类的方法。但这是2。我从班里逃走的时间。我已经读过很多次了,比恩希尔接受了内心的阶级,但它从来没有为我工作过。