这一章节我们来聊一下内部类的.this和.new语法。
其实上面写的有点问题,准确的说法是外部类对象.this和外部类对象.new
例子:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package com.ray.ch03; public class Test { private int testId = 1; public Test() { System.out.println(testId); } class MyTest { private int myTestId = 0; public MyTest() { this.myTestId = Test.this.testId + 1; System.out.println(myTestId); } } public static void main(String[] args) { Test test = new Test(); Test.MyTest myTest = test.new MyTest(); } }
由于内部类已经默认持有外部类的引用,引出可以使用外部类.this来引用对象,因此才会有Test.this.testId + 1
同理,我们会持有对象test的引用,然后通过.new的语法来生成内部类的对象,因此有new Test().new MyTest()这种语法。
总结,这一章节主要讨论了一下内部类的.this和.new语法。
这一章节就到这里,谢谢。
-----------------------------------
目录
最后
以上就是幽默缘分最近收集整理的关于从头认识java-8.3 内部类的.this和.new语法的全部内容,更多相关从头认识java-8.3内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复