内部类

什么是内部类

在一个类在内部定义一个类就叫做内部类

内部类分为四种:匿名内部类,静态内部类,实例内部类,局部内部类

匿名内部类

在匿名内部类当中不能访问被修改的数据,

 

实例内部类

外部类当中的任何对象都可以在内部类当中直接访问

实例内部类必须要先有外部类对象的前提下才能创建

外部类要想访问内部类的对象要先实例化内部类才可以进行访问

1.如何获取内部类对象

有两种方法

第一种先实例化外部类,在用外部类名引用内部类名 数据名= 外部数据名new内部类名

第二种直接外部类名引用内部类名 数据名 = new外部类名引用new内部类名

 2。在实例内部中是否可以定义静态的成员变量

需要当前变量加上final因为static是不依赖于对象的而实例内部类是依赖于对象的

3.若外部类和内部类中有相同名字的变量,访问的是内部类的变量,想要访问外部类的这个变量就要使用(外部类名.this.变量名) 

实例内部类当中是包含外部类的this的

 

静态内部类

静态内部类实例化方法(外部类名引用内部类名 数据名 = new 外部类名引用内部类名)

 如何在静态内部类当中访问外部类非静态的数据成员

在内部类方法中实例化外部类,在调用外部类的成员

 

局部内部类

只可以在定义在外部类的方法当中,且只能在当前方法内使用,不能被修饰符修饰,编译器也有独立的字节码文件:外部类名$数字内部类名.class

 

posted @ 2024-10-22 16:08  油头男孩  阅读(4)  评论(0编辑  收藏  举报