欢迎光临
我们一直在努力

Java内部类

1 内部类概念,定义格式,特点

1.1 内部类概念
内部类:就是在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类

1.2 内部类定义格式

public class 类名{ 修饰符 class 类名{ }}

范例:

public class Outer { public class Inner { } }

1.3 内部类的访问特点

1.内部类可以直接访问外部类的成员,包括私有
2.外部类要访问内部类的成员,必须创建对象

例:

2 内部类分类

内部类位置:
1.成员内部类:在类里面的成员位置
延伸:静态内部类,用static修饰的成员内部类
2.局部内部类: 在方法里面
延伸:匿名内部类,定义在方法内部用来实现接口或者类名的

2.1 成员内部类

格式:外部类.内部类 对象名 = new 外部类对象().new 内部类对象();

范例:Outer.Inner oi = new Outer().new Inner();

2.2 静态内部类
有static

修饰的成员内部类格式:

静态内部类创建对象的格式:

格式: 外部类名.内部类名 对象名 = new 外部类构造器.new 内部类构造器();

拓展:

1、静态内部类中是否可以直接访问外部类的静态成员?

可以,外部类的静态成员只有一份可以被共享访问。
2、静态内部类中是否可以直接访问外部类的实例成员?
不可以的,外部类的实例成员必须用外部类对象访问。

注意:静态内部类开发中实际上用的还是比较少。

2.3 局部内部类
局部内部类是在方法中定义的类,所以外界是无法直接使用,需要在方法内部创建对象并使用
该类可以直接访问外部类的成员,也可以访问方法内的局部变量
局部内部类:放在方法、代码块、构造器等执行体中

2.4 匿名内部类
概述:匿名内部类本质上是一个特殊的局部内部类(定义在方法内部)

前提:存在一个类或者接口,这里的类可以是具体类也可以是抽象类

格式:

匿名内部类的特点:
匿名内部类是一个没有名字的内部类。
匿名内部类写出来就会产生一个匿名内部类的对象。
匿名内部类的对象类型相当于是当前new的那个的类型的子类类型。

赞(0)
未经允许不得转载:171主机测评 » Java内部类
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址