Java中的内部类

1、定义:内部类就是在类中定义的类,当一个类中的成员,作为另外一种事物的时候,这个成员就可以定义为内部类

2、分类:

成员内部类、静态内部类、私有内部类、局部内部类、匿名内部类

3、成员内部类

一个类定义在外部类的成员位置就为成员内部类,它具有类的特点(继承、实现)成员内部类具有成员的特点,被成员修饰符修饰

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

public class Inner_Test {
    
    class inner{
        }
}

4、静态内部类

被static修饰的内部类

静态内部类中可以直接使用外部类中静态内容,需要通过外部类对象使用外部类中的成员(因为内部类本身是静态的)

外部类中可以直接通过内部类对象使用内部类成员,可以通过内部类的类名使用内部类静态内容(静态内部类中的静态内容 : 外部类类名.内部类类名.静态内容)

public class Inner_Test {
   
    static class inner{
    }
}

5、私有内部类

被private修饰的内部类,只能在当前外部类中通过内部类对象使用

public class Inner_Test {
   
    private class inner{
    }
}

6、局部内部类

局部内部类使用时需要注意:

不能被成员修饰符等修饰(public,private,protected,static)

局部内部类中不能定义静态内容,除了静态常量

局部内部类中可以直接使用外部类成员,可以使用所在方法中的局部变量

局部内部类只能在当前所在的方法中通过内部类对象使用,其他位置无法使用

在局部内部类中使用了所在方法中的局部变量,这个局部变量会默认被final修饰

public class Inner_Test {
    public void test() {
		  class inner{
		  }
    }
}

7、匿名内部类

匿名内部类是没有访问修饰符的

使用匿名内部类时,这个new之后的类首先是要存在的,其次我们要重写new后的类的某个或某些方法

匿名内部类访问方法参数时也有和局部内部类同样的限制

匿名内部类没有构造方法

作用: 用来简化没有本身自己作用的实现类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值