package com.wang.test;
public class test2 {
private int a=2;
class test3{
public void fun(){
a=3;
}
}
public static void main(String args[]){
test2 t=new test2();
test2.test3 t2=t.new test3();
}
}
以上是普通方式。如果内部类test3是一个静态类,则其与外围类其实没有任何关系,也不能访问到外围类的内部成员变量a。但是,如果是一个静态内部类,可以采用不创建外围类对象的方式来创建该内部类。代码如下:
package com.wang.test;
public class test2 {
private int a=2;
static class test3{
public void fun(){
}
}
public static void main(String args[]){
test2.test3 t2=new test2.test3();
}
}
如果需要产生对外部对象的引用,可以使用外部类的名字后面紧跟圆点和this。下面的事例展示了如何使用this。
package com.wang.test;
public class DotThis2 {
public void f(){
System.out.println("f()");
}
public class Inner{
public DotThis2 getOuter(){
return DotThis2.this;
}
}
public Inner inner(){
return new Inner();
}
public static void main(String args[]){
DotThis2 dt2=new DotThis2();
DotThis2.Inner inner=dt2.inner();
inner.getOuter().f();
}
}
分享到:
相关推荐
2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 枚举类 2020-4-10 java 注解(Annotation) 2020-4-11 ...
读书笔记-Java并发编程实战-基础篇
JAVA学习经典笔记-----1JAVA学习经典笔记-----1JAVA学习经典笔记-----1JAVA学习经典笔记-----1JAVA学习经典笔记-----1
java编程思想笔记,建议与书本结合使用。。。。。。。。。。。
Java笔记---李兴华---Java笔记---李兴华-----Java笔记---李兴华--Java笔记---李兴华
java核心编程笔记-持续更新
Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf
《java编程思想》学习笔记
---Java笔记---
Java是一种面相对象的编程语言。计算机语言分成两种,第一种是面向机器结构的语言,构建数据模型是基于机器的结构。第二种是面向待解决问题结构的语言,构建数据模型是基于问题的结构。Java提供了更丰富的工具来描述...
java笔记-------------java笔记-------------java笔记-------------
Java基础每日复习笔记-JavaSE基础阶段.edf
JAVA新手入门笔记-编程基础知识
java基础全套笔记--yyds
java编程思想读书笔记,114页,压缩文件才39K。
Java编程思想重点笔记(Java开发必看)
Java编程思想(第4版)读书笔记by CZFJava编程思想(第4版)读书笔记by CZFJava编程思想(第4版)读书笔记by CZF
Java编程思想读书笔记 doc doc