①匿名内部类只针对重写一个方法的时候使用;

②若有多个方法,通过匿名内部类进行调用的时候,需要一个一个进行调用,比较麻烦,所以不建议使用。

③匿名内部类是无法向下转型的,向下转型需要子类的类名,这里面没有子类的类名,完全是通过父类去做的

package Demo_nimingneibulei;public class Demo2_NoName {public static void main(String[] args) {Outer2 wsq = new Outer2();wsq.method();}}interface Inter2{                               //父类public void show1();public void show2();
}//匿名内部类只针对重写一个方法的时候使用
class Outer2 {public void method(){                           //匿名内部类要写到方法里/*                                          //若有多个方法,用匿名内部类去调用,需要调用多次,比较麻烦new Inter2(){public void show1(){System.out.println("show1");}public void show2(){System.out.println("show2");}}.show1();new Inter2(){public void show1(){System.out.println("show1");}public void show2(){System.out.println("show2");}}.show2();若有多个方法,通过匿名内部类进行调用的时候,需要一个一个进行调用*/Inter2 i =  new Inter2(){               //从   new开始到;  全部都是子类对象; 父类引用指向子类对象,new Inner2(){...}; 整块代表子类对象public void show1(){                //子类对象中的show1方法System.out.println("show1");}public void show2(){                //子类对象中的show2方法System.out.println("show2");}public void show3(){                //在子类对象里面,又重新定义一个自己特有的方法show3()System.out.println("show3");}};i.show1();                              //编译看的是接口中的show1方法,接口中有show1方法,编译成功,程序继续进行,运行看的是子类对象里面的show1方法i.show2();                              //编译看的是接口中的show2方法,接口中有show2方法,编译成功,程序继续进行,运行看的是子类对象里面的show1方法//      i.show3();                              //编译错误,编译看的是父类,是接口里面,而接口里面并没有show3方法,所以编译错误,程序报错        //匿名内部类是无法向下转型的,向下转型需要子类的类名,这里面没有子类的类名,完全是通过父类去做的}
}

面向对象(匿名内部类重写多个方法调用)相关推荐

  1. 浅谈JVM(六):方法调用过程

    上一篇: 浅谈JVM(一):Class文件解析 浅谈JVM(二):类加载机制 浅谈JVM(三):类加载器和双亲委派 浅谈JVM(四):运行时数据区 浅谈JVM(五):虚拟机栈帧结构 6.方法调用过程 ...

  2. 【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )

    文章目录 类的继承 方法的重写 子类中调用父类方法 多态 虚函数 虚函数示例 纯虚函数 相关代码 类的继承 1. 继承表示 : C++ 中继承可以使用 ":" 符号 , 格式为 & ...

  3. c++ 重载 重写_Java | 深入理解方法调用的本质(含重载与重写区别)

    前言 对于习惯使用面向对象开发的工程师们来说,重载 & 重写 这两个概念应该不会陌生了.在中 / 低级别面试中,也常常会考察面试者对它们的理解(隐约记得当年在校招面试时遇到过): 网上大多数资 ...

  4. [转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍

    参考链接: 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中  方法外 调 ...

  5. Java-day12(面向对象中2 Debug 调试 方法的重写 多态性)

    继承性练习一 Circle类: package com.acoffee.exer;public class Circle {private double radius;//半径public Circl ...

  6. java方法调用之动态调用多态(重写override)的实现原理——方法表

    转自:http://blog.csdn.net/fan2012huan/article/details/51007517 上两篇篇博文讨论了java的重载(overload)与重写(override) ...

  7. java中的static方法可以被重写吗?(从方法调用过程理解)

    答案是:不可以. 首先明确一点,在子类中重写父类的static方法,是不会报错的,编译也可以通过,但是在通过一个声明为父类,实际类型为子类的引用变量调用该方法时,发现被调用的仍是父类中原本以为会被覆盖 ...

  8. 重写、重载方法的调用

    import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util. ...

  9. strcpy用于调用的参数太少_JVM:虚拟机方法调用(理解重载和重写的本质)

    有了坚定的意志,就等于给双脚添了一对翅膀.-- 贝利 引导语 方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),Class文件的编译过程中不包含传统程序语言编译的连接步骤,一切方法调 ...

最新文章

  1. webrtc android ndk,webrtc 针对 android 平台的编译和运行
  2. C++之头文件与源文件
  3. 使用Docker中的mysql
  4. java死锁的产生与解决
  5. 很火的WiFi6,了解一下
  6. Java项目构建基础:统一结果,统一异常,统一日志
  7. c语言中有哪些函数关系,C语言中有哪些常用的函数
  8. 随想录(平台软件和项目代码)
  9. Python 实现校园卡目标检测与文字识别系统
  10. win7 开始 计算机箭头,Windows7美化教程:Win7快捷方式箭头怎么去掉
  11. 1107. 魔板(bfs宽搜)
  12. Tensorflow详解 命令行参数flags
  13. python控制qq添加好友_QQ增粉秘籍:QQ添加好友被限制 突破规则日增粉1000+
  14. 娱乐之神兽羊驼(原创)
  15. 订单漏单问题分析及解决方案
  16. 常见软包电池厚度尺寸测量方法对比
  17. 利用Excel数组公式统计各班优秀人数
  18. MFC画带箭头的直线
  19. 查找python安装路径
  20. CUDA笔记2-循环展开

热门文章

  1. angular五大服务顺序,angularJS $事件处理程序的触发顺序
  2. 什么是URL转发和一个IP建多个Web站点--主机头名法
  3. 从一个帖子看 所谓“知乎” 的真实水平
  4. 关于页面布局间距使用的经验之谈
  5. elementUI的container布局设置全屏宽度
  6. 2018秋季C语言学习总结
  7. 判断字符串是否为正整数 浮点小数
  8. c#语言基础编程-转义符
  9. WebHelper类
  10. C#正在被人用来做什么?--在CSDN上引发小讨论的帖子