题目:
创建一个Root 类,令其含有名为Component1, Component2, Component3的类的各一个实例(这些由你来写)。从Root中派生一个类Stem, 也含有上述各 ”组成部分“。 所有的类都应带有可打印出类的相关信息的默认构造器。将一个适当的**dispose()**方法的层次结构添加到所有类中。
解答:
class Component1 {
Component1() {
System.out.println("Component1 Constructor");
}
void dispose() {
System.out.println("Component1 dispose");
}
}
class Component2 {
Component2() {
System.out.println("Component2 Constructor");
}
void dispose() {
System.out.println("Component2 dispose");
}
}
class Component3 {
Component3() {
System.out.println("Component3 Constructor");
}
void dispose() {
System.out.println("Component3 dispose");
}
}
class Root {
Root() {
System.out.println("Root Constructor");
}
void dispose() {
System.out.println("Root dispose");
one.dispose();
two.dispose();
three.dispose();
}
Component1 one = new Component1();
Component2 two = new Component2();
Component3 three = new Component3();
}
class Stem extends Root {
Stem() {
System.out.println("Stem Constructor");
}
void dispose() {
System.out.println("Stem dispose");
one.dispose();
two.dispose();
three.dispose();
super.dispose();
}
Component1 one = new Component1();
Component2 two = new Component2();
Component3 three = new Component3();
}
public class exerciseTwelve{
public static void main(String[] args){
new Stem().dispose();
}
}
结果如下:
如果觉得不错,就用点赞或者关注或者留言,来代替五星好评~
谢谢各位~