day038:内部类、private、static修饰的成员内部类、匿名内部类

55 篇文章 0 订阅
4 篇文章 0 订阅

一、内部类

1.什么是内部类?

内部类就是在一个类中再定义一个类。例如:在A类中创建一个B类,则B类就是内部类。

2.内部类创建对象的格式

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

eg:

内部类使用外部类成员,可以直接使用,包括外部类的私有成员;而外部类要想使用内部类成员,则要创建对象

eg:

3.内部类的两种形式

  • 成员内部类:在类的成员位置(类中方法外)
  • 局部内部类:在类的局部位置(类中方法内)
     

4.private、static修饰的成员内部类

(1)当内部类被private修饰后,如何调用其中的方法:在此内部类所在的外部类中再创建一个方法,在新方法中创建内部类对象,再用外部类对新方法进行调用。

代码示例:

 

(2)当内部类被static修饰后,如何调用其中的方法

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

代码示例:

 注:在静态内部类继续编写一个静态方法。静态修饰的内容,可以使用类名.的方式进行调用
Outer.Inner.method();

代码示例:

 

5.局部内部类

局部内部类是在方法中定义的类,外界无法直接使用,需要在方法内部创建对象并使用。

该类可以直接访问外部类的成员,也可以访问方法内的局部变量

代码示例:

 再创建外部类对象,进行调用即可:

二、匿名内部类

1.什么是匿名内部类?

匿名内部类本质上是一个特殊的局部内部类。它将继承\实现、方法重写、创建对象三个步骤,放在了一步进行它是一个实现了接口或者继承了一个类的子类对象,因为是对象,所以可以直接调用方法。

2.前提条件:

需要存在一个接口或类

3.格式

new 类名或接口名(){

重写方法;

};

 代码示例:

 4.当一个接口中存在多个抽象方法,该怎么使用匿名内部类进行调用呢?

使用多态方法进行调用,引用父类,指向子类对象。

代码示例:

 5.匿名内部类的使用场景

当方法的形式参数是接口或者抽象类时,可以将匿名内部类作为实际参数进行传递

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZQyyds:)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值