Interface+抽象方法使用测试

项目里面使用spring,我不会配置(正在学),都是师兄配好了直接用。看到里面都有这么一句。


@InjectSpring("xtglFacade")
public abstract XtglFacade getXtglFacade();


这表示注入一个Facade吧,我也不懂。想弄明白是怎么回事,就自己写几个test玩儿,但是越写越糊涂了。如下:

[color=red][size=large]TestA.java[/size][/color]


package com.djwl.test.interfaceTest;

import java.util.UUID;

public class TestA {

public TestA() {
System.out.println("step7:constructorA");
}

public String getUUID() {
System.out.println("step9");
return UUID.randomUUID().toString().replaceAll("-", "");
}
}



[color=red][size=large]TestB.java[/size][/color]

package com.djwl.test.interfaceTest;

public interface TestB {

public TestA getTestA();

public String test();
}



[color=red][size=large]TestBImpl.java[/size][/color]
package com.djwl.test.interfaceTest;

public abstract class TestBImpl implements TestB {

public abstract TestB getTestB();

public String test() {
System.out.println("step2");
String string = getTestB().getTestA().getUUID();
System.out.println("step10");
return string;
}
}


[color=red][size=large]TestC.java[/size][/color]

package com.djwl.test.interfaceTest;

public class TestC extends TestBImpl {

public TestC(){
System.out.println("step4:constructorC");
}

public TestA getTestA() {
System.out.println("step6");
TestA testA = new TestA();
System.out.println("step8");
return testA;
}

public String test(){
System.out.println("step1");
return super.test();
}

public static void main(String[] args) {
System.out.println(new TestC().test());
}

@Override
public TestB getTestB() {
System.out.println("step3");
TestC testC = new TestC();
System.out.println("step5");
return testC;
}

}



[color=red][size=large]运行TestC.java的main方法,得到结果如下:[/size][/color]


step4:constructorC
step1
step2
step3
step4:constructorC
step5
step6
step7:constructorA
step8
step9
step10
36c750665f084696846a24a88c63e312
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值