内部类
![]() |
|
【】一个类定义在另一个类内部
【】编译后结果:两个类都生成class文件 外部.class文件、外部$内部.class文件(有所属的内部类)
|
|
【】内部类出现原因:某类为了更方便地访问另一类的私有成员。 如果两个类独立,一类想访问另一类的私有成员,需要建立对象再调用相关方法才能办到。 |
![]() |
| 【】孙悟空钻进铁扇公主肚子,孙悟空可以直接访问铁扇公主的心肝脾肺肾,铁扇公主没法直接访问孙悟空的心肝 |
|
【】心脏需要访问其他成员,定义在身体里面访问方便。 【】内部类的设计方式相当于一种封装 |
| 二、内部类修饰符---》几种调用内部类的类型 |
| 【】内部类定义在了成员位置,就可以被成员修饰符修饰 |
|
【】public共有权力最大 【】private只在本类中有效 【】什么都不写也是一种权限 public》空白》private |
|
【】内部类无修饰符,需要先建立外部类对象再建立内部类对象去访问
【】但是,一般会把内部类私有化private封装起来,不让直接访问内部类。 |
|
【】内部类前加static,意味着外部类一加载内部类就存在 。 可以通过类名调用内部类,不需要在建立外部类对象了,只需要建立内部类对象即可。
|
|
【】内部类加static,并且里面方法也加了static,那么可直接通过外部类名.内部类名.方法名,来调用该方法
|
|
【】如果内部类里面定义了静态成员,该内部类必须也被静态修饰。 静态随着类的加载而加载,不需要创建对象。如果内部类不加static,外部类没法直接调用内部类,还得建立外部类对象。 |
| 三、 |
|
|
| 四、局部内部类 |
|
【】内部类可以和成员并列,也可以放到成员方法内部
|
|
【】
【】final int x=9;之后x不会变化,变成了常量
|

















浙公网安备 33010602011771号