为了账号安全,请及时绑定邮箱和手机立即绑定

HelloWorld o = new HelloWorld (); Inner inn = o.new Inner(); ;和 Inner inn =new Inner (); 怎么理解啊

   求大神 帮助



正在回答

2 回答

HelloWorld o = new HelloWorld ()指的是创建了一个HelloWorld类的对象o;

Inner inn = o.new Inner()指的是Inner是HelloWolrd里的一个内部类,创建一个内部类Inner的对象inn必须先创建一个外部类的对象o,用o来创建内部类对象inn;

Inner inn =new Inner ()只能在内部类HelloWorld中使用创建inn


5 回复 有任何疑惑可以回复我~

首先第一句话,意思是new一个对象,将HelloWorld这个对象的地址保存在o这个变量里,我们知道HelloWorld是外部类的名字,所以这句话作用是让你后面可以通过o来调用o里的东西,也即外部类里的东西。

第二句话也是同理,o.new  Inner(); 通过o给的地址在外部类里找到内部类,然后就找到了内部类的地址,然后用等于号赋值,Inner inn =o.new Inner();    把内部类的地址保存到了inn这个变量里,你后面可以通过inn来调用inn里的东西,也即调用内部类里的东西。

第三句话,它仅仅是创建一个内部类对象,原来保存的变量名字为inn,跟的一句话的意思差不多。(但是第二句话在实现第三句话的功能的同时还把地址保存进了inn里)

【不知道我理解的对不对,我是根据数据的保存的三个地点来理解的,方法区、堆和栈】

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

HelloWorld o = new HelloWorld (); Inner inn = o.new Inner(); ;和 Inner inn =new Inner (); 怎么理解啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信