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

Posted 照破山河万朵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA-初步认识-第十章-内部类-细节相关的知识,希望对你有一定的参考价值。

一.

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

(在没有讲解前,先自己梳理一下,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-初步认识-第十章-内部类-细节的主要内容,如果未能解决你的问题,请参考以下文章

JAVA-初步认识-第十章-匿名内部类-应用

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

ThinkingInJava第十章内部类

JAVA-初步认识-第十章-多态-概述

《Java编程思想》笔记 第十章 内部类

《Java编程思想》第十章 内部类