当前位置: 代码迷 >> J2EE >> java编程思维的一个程序大家看看!编译通过!运行没有通过
  详细解决方案

java编程思维的一个程序大家看看!编译通过!运行没有通过

热度:21   发布时间:2016-04-22 00:22:54.0
java编程思想的一个程序大家看看!编译通过!运行没有通过!
代码如下!
Java code
//: c06:CADSystem.java// Ensuring proper cleanuppackage c06;import java.util.*;class Shape {    Shape(int i) {        System.out.println("Shape Constructor");    }    void dispose() {        System.out.println("Shape dispose");    }}class Circle extends Shape {    Circle(int i) {        super(i);        System.out.println("Drawing Circle");    }    void dispose() {        System.out.println("Erasing Circle");        super.dispose();    }}class Triangle extends Shape {    Triangle(int i) {        super(i);        System.out.println("Drawing Triangle");    }    void dispose() {        System.out.println("Erasing Triangle");    }}class Line extends Shape {    private int start,end;    Line(int start, int end) {        super(start);        this.start = start;        this.end = end;        System.out.println("Drawing Line: " + start + ", " + end);    }    void dispose() {        System.out.println("Erasing Line: " + start + ", " + end);        super.dispose();    }}public class CADSystem extends Shape {    private Circle c;    private Triangle t;    private Line[] lines = new Line[5];    public CADSystem(int i) {        super(i + 1);        for(int j = 0; j < lines.length; j++)             lines[j] = new Line(j, j * j);        c = new Circle(1);        t = new Triangle(1);        System.out.println("Combined constructor");    }    public void dispose() {        System.out.println("CADSystem.dispose()");        //The order of cleanup is the reverse        //of the order of initialization        t.dispose();        c.dispose();        for(int i = lines.length - 1; i >= 0; i--)             lines[i].dispose();        super.dispose();    }    public static void main(String args[]) {        CADSystem x = new CADSystem(47);        try        {            //code and exception handling ..        }        finally        {            x.dispose();        }    }}


大家给看看怎么回事!

------解决方案--------------------
你说的运行没有通过是指什么意思?

我这里运行结果是:

Shape Constructor
Shape Constructor
Drawing Line: 0, 0
Shape Constructor
Drawing Line: 1, 1
Shape Constructor
Drawing Line: 2, 4
Shape Constructor
Drawing Line: 3, 9
Shape Constructor
Drawing Line: 4, 16
Shape Constructor
Drawing Circle
Shape Constructor
Drawing Triangle
Combined constructor
CADSystem.dispose()
Erasing Triangle
Erasing Circle
Shape dispose
Erasing Line: 4, 16
Shape dispose
Erasing Line: 3, 9
Shape dispose
Erasing Line: 2, 4
Shape dispose
Erasing Line: 1, 1
Shape dispose
Erasing Line: 0, 0
Shape dispose
Shape dispose

------解决方案--------------------
没有问题啊,我放eclipse里能得到楼上的打印结果。
  相关解决方案