Java中,匿名内部类

匿名内部类
  就是局部内部类的简化写法。

前提:存在一个类或者接口。
  这里的类可以是具体类也可以是抽象类。

格式:
  new 类名或者接口名() {
    重写方法;
  }

匿名内部类的本质是什么呢?
  答:是一个继承了该类的子类或者实现了该接口的实现类(子类)的匿名对象。
  简言之:匿名内部类是一个子类的匿名对象。
  再简言之:匿名内部类是子类的对象。

  小结:匿名内部类是一个结合体,是子类和对象的结合体。

示例代码如下所示:

原文地址:https://www.cnblogs.com/chenmingjun/p/8454594.html

时间: 2024-10-05 15:41:06

Java中,匿名内部类的相关文章

java中匿名内部类总结

在java的世界里,提供了匿名内部类语法糖,用于帮助大家简化代码,本文简要从接口,抽象类以及常规类以代码的形式描述其常用模式. 1. 接口模式 public interface IWriter { void write(); } public static void main(String[] args) { IWriter writer = new IWriter() { @Override public void write() { System.out.println("IWriter w

Java中匿名内部类

匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法 abstract class Person { public abstract void eat(); } class Child extends Person { public void eat() { System.out.println("eat something"); }

java中匿名内部类的匿名构造函数是怎么用的?

下面的例子说明匿名内部类的匿名构造函数的用法 (视频下载) (全部书籍) 例2.7.2_0 interface FigureMark_to_win {    void whoAmI();}public class Test {    public static void main(String[] args) {        FigureMark_to_win ttm = new FigureMark_to_win() {            private String msg = "三角

Java中的内部类(成员内部类、静态内部类、局部内部类、匿名内部类)

Java中的内部类(成员内部类.静态内部类.局部内部类.匿名内部类) 神话丿小王子的博客主页 我们先看这样一段话:人是由大脑.肢体.器官等身体结果组成.而组成我们人体的心脏它也有自己的属性和行为(血液.跳动),显然,此处不能单方面用属性或者方法表示一个心脏了,而需要一个类,但是这个类要依赖于人这个类存在(因为心脏不能脱离人体而存活,当然不考虑现今社会的发达科技,只从正常情况下来说),所心脏以需要写在人类的内部.内部类就相当于其中的某个器官之一. 首先看看什么是内部类:在类的内部定义另一个类.没错

Java中的匿名内部类总结

匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法 abstract class Person { public abstract void eat(); } class Childextends Person { public void eat() { System.out.println("eat something"); } }

java中的匿名内部类总结(转)

java中的匿名内部类总结 匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法 abstract class Person { public abstract void eat(); } class Child extends Person { public void eat() { System.out.println("eat someth

Java中的匿名内部类

通常通过继承某个类或实现某个接口的方式来编写代码,但是有时候某一些代码只使用一次,就没有必要写专门写一个子类或实现类了,可以采用匿名内部类的写法.最常用的场景是线程方面的应用. 一.不使用匿名内部类 ①继承 abstract class Player { public abstract void play(); } public class FootBallPlayer extends Player { public void play() { System.out.println("踢足球&q

java-se-面试(3)-java中的匿名内部类总结

java中的匿名内部类总结 匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法 abstract class Person { public abstract void eat(); } class Child extends Person { public void eat() { System.out.println("eat someth

java中的内部类和匿名内部类的使用

部分内容参考http://www.imooc.com/ 内部类: 什么是 Java 中的内部类 问:什么是内部类呢? 答:内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类. 问:那为什么要将一个类定义在另一个类里面呢?清清爽爽的独立的一个类多好啊!! 答:内部类的主要作用如下: 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据 3. 内

JAVA中内部类(匿名内部类)访问的局部变量为什么要用final修饰?

本文主要记录:在JAVA中,(局部)内部类访问某个局部变量,为什么这个局部变量一定需要用final 关键字修饰? 首先,什么是局部变量?这里的局部是:在方法里面定义的变量. 因此,内部类能够访问某局部变量,说明这个内部类不是在类中定义的内部类,而是在方法中定义的内部类,称之为:局部内部类. 局部变量的作用域:局部变量是在某个方法中定义,当该方法执行完成后,局部变量也就消失了.[局部变量分配在JVM的虚拟机栈中,这部分内存空间随着程序的执行自动回收],也即:局部变量的作用域是在 “方法的范围内”.