Java 习题 (69)

题目:
创建一个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();
    }
}

结果如下:
在这里插入图片描述
如果觉得不错,就用点赞或者关注或者留言,来代替五星好评~
谢谢各位~

©️2020 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页