黑马程序员——Java---匿名内部类

本文介绍了Java中的匿名内部类概念,包括其定义方式、使用场景及与常规内部类的区别。通过实例说明了如何创建匿名内部类并调用其方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
 匿名内部类
匿名内部类就是在类的内部创建一个匿名类,这样的类叫做匿名内部类
匿名内部类必须继承一个类或者实现一个接口
class outer          //外部类
{
 /*  下面类成员函数show中创建的匿名内部类与此处声明的内部类作用一致,都是继承自demo类,并复写了该类中的方法
           匿名内部类是通过外部类outer的一个方法来调用该内部匿名类的方法,
             并且每次调用完以后,都会释放该匿名内部类对象;
         而内部类一旦创建对象以后可以一直保存其作用周期,直到该对象上下文执行完毕被释放。
 
  class inner extends demo
  {
   void fun(){
    System.out.println("匿名内部类");
   }
  }
 */
 void show(){                                                     
                                                                 //     该匿名内部类还可以用父类引用的方式创建对象,但是创建出来的对象是父类引用对象,
                                                                 //      该引用对象复写函数之后,因为是多态,所以只能调用父类中定义过的方法。
         // 一般来讲是这种方式是没有什么意思的,所以这种方法有弊端
         //    1,代码臃肿  2不易阅读   3 只能调用父类对象定义过的方法
  new demo(){      // demo d = new demo(){  
         //
   void fun(){     //   void fun(){
         //
    System.out.println("匿名内部类");//    System.out.println("匿名内部类");
   }      //   }
  }.fun();      //  };
 }        // d.fun();
}
abstract demo
{
 void fun(){
 
  System.out.println("外部抽象类");
 }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值