1、什么是匿名内部类?

内部类,存在于另一个类内部的类,而匿名内部类,顾名思义,就是没有名字的内部类。

2、为什么需要匿名内部类?

每个inner class都能够各自继承某一实现类(implementation)。因此,inner class不受限于outer class是否已继承自某一实现类。

如果少了inner class所提供的“继承自多个具象(concrete)或抽象(abstract)类”的能力,设计上和编程上的某些问题会变得十分棘手。

 所以,从某个角度来看inner class,你可以说它是多重继承问题的完整解决方案。interface能够解决其中一部分问题,但inner classes才能有效而实际地允许“多重实现继承(multiple implementation)”。也就是说,inner classes实际上允许你继承多个non-interface。从这个层面上使用内部类时一般都是通过其父类或继承的接口来进行实例化和初始化的,如3中所示,这时内部类的名字是多余的,所以
就使用了匿名内部类。

3、怎么实现匿名内部类?

  匿名内部类的实现非常简单,如有一接口Interface A{public void method();}这时你可以写一个如下的语句得到接口A的实现类的对象A a=new A(){ public void method(){System.out.println("hehe");} };而其中的{ public void method(){System.out.println("hehe");} };就是定义了一个匿名内部类

4、问题答案

以上可以看出匿名内部类在实现时必须借助一个类或一个接口,若从这个层次上讲它是可以继承其他类也可以实现接口的,

但若是通过extends 或implements 关键字那是不可能的.


转载于:https://www.cnblogs.com/guweiwei/p/6601735.html

【Java面试题】13 Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?...相关推荐

  1. Anonymous Inner Class(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interfance(接口)?

    匿名内部类是没有名字的内部类.不能extends(继承)其它类,但是一个内部类可以作为一个接口,由另一个内部类实现.

  2. 常用JAVA面试题库

    1. Java的接口和C++的虚类的相同和不同处. 由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求.与继承相比,接口有更高的灵活 ...

  3. java 字符串乱码_这份Java面试题含答案解析竟然真的让你不用在面试上“如履薄冰”...

    面试题集共分为以下十部分: 一.Core Java: 1 - 95 题1 - 24 页 基础及语法: 1 - 61 题1 - 13 页 异常: 62 - 69 题13 - 15 页 集合: 70 - ...

  4. 超有用的 java面试题

    第一,谈谈final, finally, finalize的区别. final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承. finally是异常处理语句结构的一部分,表示总 ...

  5. JAVA面试题集收藏大放送

    1.C++或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常.违反语义规则包括2种情况.一种是JAVA类库内置的语义检 ...

  6. [转载] JAVA面试题大全(part_1)

    参考链接: 对Java中派生类方法更严格的访问 JAVA面试题大全(part_1) 1.面向对象的特征有哪些方面 (1)抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目 ...

  7. [转载] Java笔试题集锦

    参考链接: 关于Java中文件名和类名的误解 Java笔试题集锦 1.MVC的各个部分都有那些技术来实现?如何实现? 答:MVC是Model-View-Controller的简写."Mode ...

  8. java面试题及答案 JAVA相关基础知识

    1.面向对象的特征有哪些方面 1).抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽 ...

  9. Java面试题目汇总/英文Java面试题(核心知识)

    一.面向对象的三个基本特征    2.方法重载和方法重写的概念和区别    3.接口和内部类.抽象类的特性    4.文件读写的基本类    **5.串行化的注意事项以及如何实现串行化    6.线程 ...

最新文章

  1. jQuery的val()方法
  2. GTK+开发环境搭建(Centos+Netbeans)
  3. SizeClass和Autolayout
  4. Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
  5. Pycharm Professional(专业版2018.2.1)最简单方法破解,亲测有效(转)
  6. php5.6 mongo 扩展,docker php5.6镜像创建,包括常用扩展安装
  7. iphone android 功能清单,iPhone的这几个App,让你的工作效率翻倍(1)
  8. vue-cli3+electron+serialport实现串口通信,收银系统对接电子秤
  9. 尚硅谷韩顺平Linux教程学习笔记
  10. 摸鱼还要提醒?用Python整个倒计时界面自觉摸鱼~
  11. React使用高德地图 (react-amap)(一)
  12. 轻轻松松背单词软件测试,完美单词王app
  13. ProxySQL 排错 Max connect timeout reached while reaching hostgroup 10 after 10000ms
  14. 关于交换机包转发1.488Mpps是如何计算出来?
  15. 使用 Marvelous Designer 为DAZ Studio 的 Genesis8 Female做衣服 1
  16. 华为有望解决5G射频芯片问题,5G手机或将回归
  17. NXP RT1052 eFlexPWM—灵活的增强型 PWM例程
  18. windows系统的定时任务
  19. eclipse 解决 java.lang.NoClassDefFoundError: ilog/concert/IloException
  20. 建一个手机网站到底需要多少钱

热门文章

  1. python到底怎么学-学 Python 到底能帮你解决什么问题 ?
  2. python读音有道词典-有道词典命令行快速翻译,Python编程的利器
  3. python编程工具p-5款Python程序员高频使用开发工具推荐
  4. python一个月能学成嘛-Python 从入门到精通:一个月就够了!
  5. python打不开怎么办-python为什么打不开
  6. 学python有必要买书吗-终于明白python需要学什么
  7. python导入excel数据-如何把python中的数据导入excel
  8. python可以做什么工作好-会python语言能做什么工作
  9. python语法基础知识-python基础必学的语法知识
  10. python和c学习-关于本站 - cPython - 给大学生的入门教程