HelloWorld o = new HelloWorld (); Inner inn = o.new Inner(); ;和 Inner inn =new Inner (); 怎么理解啊
求大神 帮助
求大神 帮助
2019-03-09
首先第一句话,意思是new一个对象,将HelloWorld这个对象的地址保存在o这个变量里,我们知道HelloWorld是外部类的名字,所以这句话作用是让你后面可以通过o来调用o里的东西,也即外部类里的东西。
第二句话也是同理,o.new Inner(); 通过o给的地址在外部类里找到内部类,然后就找到了内部类的地址,然后用等于号赋值,Inner inn =o.new Inner(); 把内部类的地址保存到了inn这个变量里,你后面可以通过inn来调用inn里的东西,也即调用内部类里的东西。
第三句话,它仅仅是创建一个内部类对象,原来保存的变量名字为inn,跟的一句话的意思差不多。(但是第二句话在实现第三句话的功能的同时还把地址保存进了inn里)
【不知道我理解的对不对,我是根据数据的保存的三个地点来理解的,方法区、堆和栈】
举报