我在两个不同的类A,B中有一个静态类,'Inner',和一个嵌套的静态类,'Deeper‘。‘'Inner’类实现了特性C,它有一个名为ping()的方法。我想从ping()方法中执行hello()方法(属于更深的方法),每次我都会根据调用该特征的类获得'Hello A‘或'Hello B’。这就是我所写的(我正在使用katalon-studio):
public class A
{
static class Inner implements C{
static class Deeper{
static void hello(){ println 'Hello A'}
}
}
}
public class B
{
static class Inner implements C{
static class Deeper{
static void hello(){ println 'Hello B'}
}
}
}
public static trait C {
static void ping() {
this.Deeper.hello()
}
}
A.Inner.ping()
B.Inner.ping()我得到了以下错误:
08-17-2018 04:46:57 PM -错误-测试用例/v2/通用/草稿失败,因为没有为测试用例定义变量“更深”。
发布于 2018-08-16 12:04:34
请考虑以下代码:
class A implements C {}
class B implements C {}
trait C {
def whoAmI() {
this.class.simpleName
}
}
// ---- main
assert "A" == new A().whoAmI()
assert "B" == new B().whoAmI() 发布于 2018-08-21 20:37:11
却找不到答案。但是,使用非静态类,可以按以下方式实现:
public class A{
class Inner implements C{
A.Inner.Deeper d = new A.Inner.Deeper()
class Deeper {
void hello(){
println 'Hello A'
}
}
}
}
public class B{
class Inner implements C{
B.Inner.Deeper d = new B.Inner.Deeper()
class Deeper{
void hello(){
println 'Hello B'
}
}
}
}
public trait C{
public void ping(){
this.d.hello()
}
}
new A.Inner().ping()
new B.Inner().ping()https://stackoverflow.com/questions/51875837
复制相似问题