继续询问关于Java静态数组更改问题

你先看清楚,它定义了一个类叫做ResizingArrayStack,继承自Iterable,然后它这么做是没问题的,只要你在外部是创建的一个ResizingArrayStack对象。实际上,ResizingArrayStack类是对数组的包装,每次resize方法被调用,都会新生成一个数组并由a来引用。如果直接引用a(比如说b=a),然后resize,再查看,这样是不会变的,只有在外面调这个ResizingArrayStack的实例,你才会发现一个变长的Iterable。


    推荐阅读