什么是内部类
在一个类在内部定义一个类就叫做内部类
内部类分为四种:匿名内部类,静态内部类,实例内部类,局部内部类
匿名内部类
在匿名内部类当中不能访问被修改的数据,
实例内部类
外部类当中的任何对象都可以在内部类当中直接访问
实例内部类必须要先有外部类对象的前提下才能创建
外部类要想访问内部类的对象要先实例化内部类才可以进行访问
1.如何获取内部类对象
有两种方法
第一种先实例化外部类,在用外部类名引用内部类名 数据名= 外部数据名new内部类名
第二种直接外部类名引用内部类名 数据名 = new外部类名引用new内部类名
2。在实例内部中是否可以定义静态的成员变量
需要当前变量加上final因为static是不依赖于对象的而实例内部类是依赖于对象的
3.若外部类和内部类中有相同名字的变量,访问的是内部类的变量,想要访问外部类的这个变量就要使用(外部类名.this.变量名)
实例内部类当中是包含外部类的this的
静态内部类
静态内部类实例化方法(外部类名引用内部类名 数据名 = new 外部类名引用内部类名)
如何在静态内部类当中访问外部类非静态的数据成员
在内部类方法中实例化外部类,在调用外部类的成员
局部内部类
只可以在定义在外部类的方法当中,且只能在当前方法内使用,不能被修饰符修饰,编译器也有独立的字节码文件:外部类名$数字内部类名.class
标签:部类,内部,静态,访问,实例,类名 From: https://www.cnblogs.com/hzy7/p/18488192