Java中类的拓展之内部类

引言:在内部类中,在平时基本不会用到,只有在库中的代码中遇到的多一些,平时使用多的就是匿名类,在后续会将匿名类补上,这里先了解什么是内部类和如何定义和使用。

目录

一.什么是内部类

二.内部类的代码演示

 三.内部类的分类

1.成员内部类

(1)普通内部类

(2)静态内部类

2.局部内部类

(1)定义和使用格式

3.匿名内部类(后续补上)


一.什么是内部类

在 Java 中,将一个类定义在另一个类或者一个方法的内部,前者称为内部类,后者称为外部类。

通俗的说就是在一个类中再定义一个类,内部类也能体现出封装的特性。

二.内部类的代码演示

public class OutClass{
    public class InnerClass{
    }
}

注意:

1.只有类在另一个类的内部才称为内部类。

2.内部类和外部类共同用一个Java源文件,但是在编译之后会生成各自的字节码文件。

 三.内部类的分类

1.成员内部类

和外部类成员处于同一级别。

(1)普通内部类

1.1定义

 

1.2关于一些成员的访问和对象创建后的访问

成员的访问:

 对象创建后的访问:

 注意:

1.普通内部类所处位置与外部类成员位置相同,所以也受public,private等修饰符的限制。

2.外部类的所有成员都可以在内布类中进行访问。

3访问和和内部类同名成员的外部类成员使用  外部类名.this.同名成员  格式来进行访问

4.普通内布类必须在外部类对象的基础上才可以进行创建。

5.普通内部类中非静态方法中包含了一个指向外部类对象的引用,所以可以通过类名.this来进行访问外部类的成员。

6.外部类不能直接访问内部类的成员,如果访问,需要在外部类对象的基础上再构建外部类对象才可以访问。

(2)静态内部类

成员的访问:

 对象创建后的访问:

 注意:

1.静态内布类只能访问外部类的静态成员。

2.创建内部类不用创建外部类对象。

3.成员内部类经过编译后会生成独立的字节码文件,命名格式为:外部类名称$内部类名称。

2.局部内部类

 定义在外部类的方法中或代码块中,使用的很少,了解即可。

(1)定义和使用格式

 注意:

1. 局部内部类只能在所定义的方法体内部使用。
2. 不能被public、static等修饰符修饰。
3. 编译器也有自己独立的字节码文件,命名格式:外部类名字$x内部类名字.class,x是一个整数。


3.匿名内部类(后续补上)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值