首页 > 编程语言 > 详细

JAVA-初步认识-第十章-内部类-细节

时间:2017-11-14 22:03:59      阅读:208      评论:0      收藏:0      [点我收藏+]

一.

先书写一个特殊点的程序来学习一下内部类的知识点。

技术分享

(在没有讲解前,先自己梳理一下,Outer这个外部类里的函数想要访问内部类,也必须创建内部类的对象)

编译运行的结果,我猜测是5。DOS结果显示,我们猜测没有错。

技术分享

如果,我们想要输出的num是4,该怎么修改。我的想法是将method()方法体中改为new Outer().num。但是视频中采用的方法和我的不一样,将被调用的内部类中的show方法体改了一下,变成了输出this.num,也就是对象中的num,而不是方法体中的num。

技术分享

接下来就是打印num=3的情况,将输出语句改成Outer.this.num,其实之前输出num=4,也是可以写成Inner.this.num,但是Inner比较多余,不写也成。

技术分享

技术分享

这里产生一个疑问,对于类和对象这块知识点中的点号(.)的运行到底是什么样的规则?有没有一个明确的说法呢?

实际开发时,不可能出现这样一连串的num。

这里为什么内部类可以直接访问外部类中的成员?表象是num放在了内部类中,但是调用的还是外部类中的num。就像method()方法,其方法体中的写有show(),为什么从method()方法中书写show()方法,可以直接访问其他的成员?那是因为这里省略了this,实际上是this.num。

调用是有原因的,不是想当然的。

技术分享

这里的this是指的外部类的对象。

 

JAVA-初步认识-第十章-内部类-细节

原文:http://www.cnblogs.com/wsw-bk/p/7834786.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!