首页 > 其他 > 详细

匿名内部类详解

时间:2020-03-23 18:33:25      阅读:58      评论:0      收藏:0      [点我收藏+]

匿名内部类。就是内部类的简写格式(其实就是创建一个子类对象)——————包括对接口的继承以及实现两个功能技术分享图片

?

前提:内部类必须继承或者实现一个外部类或者接口

?

解释一下:

  1. 技术分享图片有一个接口
  2. 技术分享图片在一个类中有一个内部类,这个内部类想继承这个接口,可以这么写
  3. 技术分享图片技术分享图片为了简化方法可以这么写,因为是Inner继承Inter,当采用匿名对象写法时,就没有子类对象名称了,所以直接new父类,并在下面方法体中重写接口的方法。
  4. 技术分享图片一般把匿名对象类放在一个方法中,在主函数中直接调用这个方法即可

?

?

?

?

public class Main {

????public static void main(String[] args){

????????Main main = new Main();

????????main.test(new Man(){

????????????//这里传入一个Man接口的匿名实现类的实例

????????????public void talk(){

????????????????System.out.print("I‘m a man!");

????????????????//output I‘m a man!

????????????}

????????});

????}

?

?

????public void test(Man m){

????????//调用该方法需要传入一个Man类型参数

????????m.talk();

????}}

?

?

interface Man{

????void talk();}

?

举个栗子:在上述代码中,第四行调用Main对象的test方法,test方法的参数是接口类型的,但是在实际传参数的过程中需要对这个接口进行复写和实现,所以直接在第四行采用 new 接口名的方式对接口进行了复写,并生成了一个对象.(test方法的参数是一个接口,说明 实现了这个接口的类的对象都可以作为参数传进去)

匿名内部类详解

原文:https://www.cnblogs.com/beeenwei/p/12553678.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!