[color=red][size=x-large]testA.java[/size][/color]
[color=red][size=x-large]testB.java[/size][/color]
[color=red][size=x-large]testC.java[/size][/color]
[size=large][color=red]运行TestC中的main方法,得到结果如下:[/color][/size]
:cry: :x
[color=red][size=large]哦,还是不太懂,继续探索中。。[/size][/color]
package com.djwl.test.huxiao;
import java.util.UUID;
public class TestA {
public TestA() {
System.out.println("step4:constructorA");
}
public String getUUID() {
System.out.println("step5");
return UUID.randomUUID().toString().replaceAll("-", "");
}
}
[color=red][size=x-large]testB.java[/size][/color]
package com.djwl.test.huxiao;
public abstract class TestB {
public abstract TestA getTestA();
public String test() {
System.out.println("step2");
String string = getTestA().getUUID();
System.out.println("step6");
return string;
}
}
[color=red][size=x-large]testC.java[/size][/color]
package com.djwl.test.huxiao;
public class TestC extends TestB {
@Override
public TestA getTestA() {
System.out.println("step3");
return new TestA();
}
public String test() {
System.out.println("step1");
return super.test();
}
public static void main(String[] args) {
System.out.println(new TestC().test());
}
}
[size=large][color=red]运行TestC中的main方法,得到结果如下:[/color][/size]
step1
step2
step3
step4:constructorA
step5
step6
151a7579523c40b49215d9831ee8ea2e
:cry: :x
[color=red][size=large]哦,还是不太懂,继续探索中。。[/size][/color]