`
足至迹留
  • 浏览: 497034 次
  • 性别: Icon_minigender_1
  • 来自: OnePiece
社区版块
存档分类
最新评论

super用在了匿名内部类里

 
阅读更多
1.问题描述
本来是重构时在父类里增加了一个protected方法(这个方法在子类中多处出现),然后在子类里使用这个方法的地方都用super来调用这个方法,结果编译始终不对。编译器提示super下面没有这个方法。

2. 问题分析
对比后发现有些地方能用,有些地方不能用。原来根本原因在于有些子类的方法里使用了匿名内部类,在内部类的方法里使用super自然代表的就不是外部类的父类了,而是内部类自己的父类。原因清楚了,搞得差点开始怀疑人生:)

3. 回顾
3.1 super关键字
http://blog.csdn.net/anmei2010/article/details/4093118
分享到:
评论

相关推荐

    Handler对象中使用匿名内部类或非静态内部类正确地释放消息避免内存泄漏或增加Native内存

    然而,不当使用Handler,尤其是结合匿名内部类或非静态内部类,可能导致内存泄漏和Native内存增加,这对应用性能和稳定性造成负面影响。 首先,我们要理解内存泄漏的概念。内存泄漏是指程序中已分配的内存没有被...

    匿名内部类_Anoymous_Inner_

    匿名内部类是Java编程语言中一个独特而强大的特性,它允许开发者在不定义单独类的情况下实现接口或继承抽象类。这种类没有名称,通常用于快速实现特定功能或回调机制,尤其是在处理事件监听器时非常常见。匿名内部类...

    关于匿名内部类的资料

    匿名内部类是Java编程语言中的一种特性,它允许我们在不为类定义独立名称的情况下创建类的实例。这种类主要用于简洁地实现特定的功能,通常在需要快速实现某个接口或父类的简单版本时使用。以下是对匿名内部类的详细...

    java中的匿名内部类总结

    Java中的匿名内部类是Java语言的一个独特特性,它允许我们在不需要定义一个完整的新类的情况下创建对象。这在处理一些临时性的、与特定上下文相关的类时特别有用。本篇文章将深入探讨匿名内部类的概念、使用场景以及...

    java中匿名内部类解读分析

    在Java编程语言中,匿名内部类是一种特殊的类,它没有名称,通常用于简洁地实现某个接口或继承某个类的功能。这种类在定义的同时就会被实例化,并且经常用于一次性、临时性的用途。以下是对Java匿名内部类的详细解读...

    Java内部类总结

    - **匿名内部类**:没有名字的内部类,通常用于实现接口或继承类时简化代码,主要应用在事件监听器等场景。 #### 二、内部类的创建与使用 1. **成员内部类的创建**: - 创建成员内部类的对象时,需要先创建外部类...

    浅析Java匿名内部类创建登录界面.pdf

    Java匿名内部类在创建登录界面中的应用主要体现在事件监听机制和界面组件的设置上。本文将详细阐述如何利用这些技术构建一个登录窗口。 首先,Java Swing库提供了丰富的组件用于创建图形用户界面(GUI)。在创建...

    Java内部类总结,内部类的共同特征,内部类的分类等

    4. 匿名内部类:即没有名字的内部类,匿名内部类用于实现回调函数或其他临时性的类。 三、为什么需要内部类? 1. 内部类方法可以访问该类定义所在的作用域的数据,包括私有的数据。 2. 内部类可以对同一个包中的...

    简单谈谈java中匿名内部类构造函数

    Java中的匿名内部类是一种特殊的类,它没有名称,通常用于创建一次性的、简短的类实现,尤其是在需要扩展已有类或实现接口时。在上述代码示例中,我们看到匿名内部类与构造函数的交互。 首先,让我们了解匿名内部类...

    java 内部类(匿名类,匿名对象,静态内部类)详解及实例

    本篇文章将深入探讨内部类的三大类型:成员内部类、匿名内部类和静态内部类,并通过实例代码来展示它们的使用方法。 1. 成员内部类 成员内部类就像是外部类的一个成员,它可以是公有的或私有的,拥有自己的访问...

    java匿名内部类实例代码详解

    匿名内部类通常用来实现某些特殊的功能,例如在事件处理中,经常使用匿名内部类来实现事件处理器。 在Java中,匿名内部类可以继承自某个类或实现某个接口。匿名内部类的语法结构为: ```java new 父类或接口名称() ...

    java内部类学习资料

    匿名内部类可以继承一个类或实现一个接口,并且可以在声明的同时直接实例化。它们常用于简化代码,尤其是在事件处理和回调机制中。 3. **局部内部类**:局部内部类定义在方法、构造器或代码块内部,它的作用域仅...

    Java监听器添加 四种监听器 内部 外部 内部匿名 自身

    在这个例子中,匿名内部类直接在 `addActionListener` 方法中定义,当按钮被点击时,容器背景色会变为红色。 ##### 4. 自身监听器 自身监听器是指一个对象自身实现了监听器接口,并且用来监听自身的事件。下面是一...

    抽象类、接口、内部类、异常

    根据其位置,内部类可以分为成员内部类、局部内部类、匿名内部类以及静态内部类。成员内部类就像外部类的成员,可以访问外部类的所有成员(包括私有成员)。局部内部类只存在于方法或作用域内,它的生命周期仅限于该...

    Java程序设计:020613_内部类.ppt

    内部类分为四种类型:成员内部类(非静态)、匿名内部类、静态嵌套类和局部内部类。这些类的设计提供了更高级别的封装和灵活性,使得Java能够实现一些特定的功能,比如模拟多重继承。 成员内部类,顾名思义,是作为...

    Super关键字的几点应用

    如果父类中定义了一个匿名内部类,子类可以通过`super`关键字引用它,但这通常只在特定场景下发生,比如处理事件监听器。 最后,"super"关键字与Java的this关键字相对应,this代表当前对象,而super则代表当前对象...

    Java语言基础入门教程 Java开发编程基础课程 第12章 内部类和异常处理 共18页.pptx

    4. **匿名内部类**:这种类型的内部类没有名称,通常用于即时定义并创建一个类的实例,特别是在实现接口或者继承一个类的情况下。 - **示例**: ```java public class Main { interface MyInterface { void ...

    java中this的用法.pdf

    此外,Java中还存在一些特殊的用法,比如在内部类中使用外部类的引用,或者在匿名内部类中使用外部方法的参数。 文件“java中this的用法.pdf”的内容大致介绍了this关键字在不同场景下的使用。以下是详细的分析: ...

    Android 面试-笔试题

    Java中 == 和 equals 和 hashCode 的区别 int、char、long 各占多少字节数 int 和 Integer 的区别 谈谈对Java多态的理解 ...成员内部类、静态内部类、方法内部类(局部内部类)和匿名内部类的理解,以及项目中的应用

    Java的特殊类PPT学习教案.pptx

    - **匿名内部类**:无需为类命名,通常用于快速创建实现特定接口或继承特定类的临时对象。 理解并熟练掌握这些Java特殊类的概念对于编写高效、灵活和可维护的代码至关重要。通过深入学习和实践,开发者可以更好地...

Global site tag (gtag.js) - Google Analytics