java_关于内部类

内部类:
是定义在一个类的内部的新类型,即内部类,另外一个类称之为外部类

根据位置不同可分为

成员内部类
方法内部类(局部内部类)
静态内部类 带static修饰词的类 
匿名内部类 没有名称的内部类 

不常用的内部类:方法内部类,静态内部类
方法内部类:定义在方法中,相当于局部变量,仅限于在方法中使用,定义时不能使用修饰词,可以直接访问外部类的非静态成员
静态内部类:也是以类的成员来定义的,仅仅多了static,可以直接访问外部类的静态成员

成员内部类和匿名内部类比较常用
成员内部类:以类的成员来定义,可以使用任何修饰词来进行修饰

成员内部类访问外部类的成员

方法内隐藏一个指向外部类对象的引用。
*外部类名.this.*

内部类的使用:

创建对象:
     要先创建一个外部类的对象outer
然后使用外部类对象去使用new调用内部类的构造器实例化
  Inner  inner = outer.new Inner(有参传参); 

外部类访问内部类的成员:
在外部类添加一个内部类的成员变量来进行访问

匿名内部类:
当我们想使用某个类,接口,抽象类的子类时,因为只用一次
所以可以不定义类的结构,所以使用匿名内部类的写法,因为没有子类名称,可以向上造型, = new 父类名(){}; 大括号里重写接口(抽象类)里的所有抽象方法,或重写某个父类的实现方法

猜你喜欢

转载自blog.csdn.net/yc_hen/article/details/81609055
今日推荐