0
点赞
收藏
分享

微信扫一扫

Java内部类总结

爱喝酒的幸福人 2022-02-18 阅读 88

内部类定义

一个类或者接口定义在另外一个类或者接口的内部。

public class A1{//外部类
    class B1{}//内部类
    interface C1{}//内部接口
}

        1.内部类之外的类称为外部类

        2.内部类的名称必须区别于它所在的外部类,和其它类之间没有要求内部类的全名叫做【外部类名称$内部类名称】

        3.内部类可以访问其外部类的所有变量和方法,外部类不能直接访问内部类的实现细节

        4.内部类比外部类多了private/protected/static三个修饰符,这三个修饰符不能用在外部类上

内部类的作用

        1.内部类提供更好的封装

        2.内部类可以直接访问外部类的私有成员外部类

        3.不能直接访问内部类的成员

        4.匿名内部类适合用于创建仅仅使用一次使用的类

内部类分类

        在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类

内部类实际拥有外部类的一个引用,在构造函数中将外部类的引用传递进来。

非静态内部类

public class A1{
    protected class B1{}
}

 静态内部类

public class A1{
    protected static class B1{}//静态内部类
}

局部内部类

可以将内部类定义在一个方法活着一个代码块内。

匿名内部类

匿名内部类就是内部类的简写格式,匿名内部类的前提是必须继承或者实现一个外部类或者接口

        1.匿名内部类由于没有名字,所以它没有构造函数

        2.如果这个匿名内部类继承了一个只含有带参数构造函数的父类,创建它的时候必须带上这些参数

        3.不能定义静态成员

匿名内部类的使用场景

        当方法参数是接口类型时,而且接口中的方法不超过三个,可以用匿名内部类作为实际参数进行传递

举报

相关推荐

0 条评论