day011 java内部类

本文详细介绍了Java中的五种内部类:成员内部类可直接访问外部类成员;私有内部类仅在外部类中可用;静态内部类可独立于外部类实例存在;局部内部类局限于定义它的方法;匿名内部类简化单次使用的实现类或子类创建。
摘要由CSDN通过智能技术生成

内部类的分类:

  1.成员内部类  2. 私有内部类 3.  静态内部类4. 局部内部类 5. 匿名内部类

1.1成员内部类 

成员内部类 :
  内部类定义在-------》外部类的成员位置
  可以被成员修饰符所修饰,可以继承其他父类,实现需要的接口,具有成员的特点,具有类的特点
  特点 :
      在成员内部类中只能定义--------》非静态的成员内容,除了静态的常量
      在成员内部类中可以直接使用所在外部类的成员,包括私有的
      在所在外部类中需要通过——————————》成员内部类的对象——————访问其成员(包括私有成员),可以通过——————》类名访问其————》静态的常量
      在其他类中需要 通过————————》外部类创建成员内部类对象,通过成员内部类对象————————》访问其成员

2.私有内部类

私有内部类 :
    被private修饰的成员内部类
    私有内部类中可以直接使用外部类的成员,包括私有的
    在所在外部类中,通过私有内部类的对象访问其成员
    其他类中无法使用私有内部类

3.静态内部类

静态内部类 :
    被static修饰的内部类
    静态内部类中可以根据需求定义静态|非静态的成员
    在静态内部类中可以直接使用所在外部类的静态内容,需要通过外部类的对象访问其成员          在静内类    直接用静内容   外部类对象--------》成员
    在所在外部类中可以通过类名访问静态内部类中静态内容,需要通过对象访问静态内部类中的成员   在外部类    通过对象访问------->静类静内容
    在其他类中可以通过外部类类名.内部类类名.静态内容访问静态内部类中的静态内容            在其他类  通过外类名.内类名.静内容------访问---》静态内类静内容
    在其他类中可以通过new 外部类类名.内部类类名()的内部类对象访问静态内部类中的成员内容    在其他类   通过 new 外类名.内类名()内对象------》静成员

4.局部内部类

局部内部类 :
    定义在方法中,内部类为------》局部内部类

    局部内部类中只能定义——————————》非静态的成员内容,除了静态的常量
    在局部内部类中可以使用---》所在外部类的成员
    局部内部类中如果一旦使用所在方法的局部变量(参数),这个局部变量————————》必须为常量
        jdk7及之前 : 要求必须手动被final修饰
        jdk8及之后 : 默认被final修饰
    只能在所在的方法中通过对象访问局部内部类的成员,在外部类中的其他方法中|其他类中都无法使用局部内部类

5.匿名内部类

匿名内部类 :
    简化一些满足条件要求的实现类|子类,将定义实现类重写方法+创建实现类对象两步合并成一步
        1)类没有自己本身作用
        2)实现类|子类只在当前使用一次,不会重复使用多次
    语法 :
        new 接口|抽象类(){--->实现类|子类类体
            重写方法....
        };

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值