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();
    }
}

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

猜你喜欢

转载自blog.csdn.net/BSCHN123/article/details/107893272
69
今日推荐