关于j使用ava匿名类的好处总结

匿名类,除了只能使用一次,其实还有其他用处,比如你想使用一个类的protected方法时,但是又和这个类不在同一个包下,这个时候匿名类就派上用场了,你可以定义一个匿名类继承这个类,在这个匿名类中定义一个方法,用super调用你想调用的那个protected方法(虽说,你可以定义一个类继承这个类,但是匿名类更加简洁,因为你只是想调用这个protected方法而已)。

public class TestClass(){

  protected void test(){

    System.out.println("这是一个protected的方法");

  }

}

main方法调用:

  public satatic void main(String args[]){

    new TestClass(){

      public void callParentTest(){

        super.test();

}

}.callParentTest();

}

时间: 2024-10-25 16:54:14

关于j使用ava匿名类的好处总结的相关文章

内部类与匿名类(转)

Java 中的内部类和匿名类* 为什么需要内部类? Java 内部类有什么好处?为什么需要内部类? 首先举一个简单的例子,如果你想实现一个接口,但是这个接口中的一个方法和你构想的这个类中的一个方法的名称,参数相同,你应该怎么办?这时候,你可以建一个内部类实现这个接口.由于内部类对外部类的所有内容都是可访问的,所以这样做可以完成所有你直接实现这个接口的功能. 不过你可能要质疑,更改一下方法的不就行了吗? 的确,以此作为设计内部类的理由,实在没有说服力.真正的原因是这样的,java 中的内部类和接口

【转 Java 中的内部类和匿名类

 Java 中的内部类和匿名类 2008-10-16 13:47:41 标签:Java 内部类 匿名类 休闲 职场 Java 中的内部类和匿名类* 为什么需要内部类? Java 内部类有什么好处?为什么需要内部类? 首先举一个简单的例子,如果你想实现一个接口,但是这个接口中的一个方法和你构想的这个类中的一个方法的名称,参数相同,你应该怎么办?这时候,你可以建一个内部类实现这个接口.由于内部类对外部类的所有内容都是可访问的,所以这样做可以完成所有你直接实现这个接口的功能. 不过你可能要质疑,更改一

Java笔记十八.内部类和匿名类

内部类和匿名类 转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.内部类 1.定义 在一个类内部定义类,即为嵌套类(内部类).有如下几点特点:(1)嵌套类可以直接访问嵌套它的类的成员(变量和方法),包括private成员.但是,嵌套类的成员却不能被嵌套它的类直接访问.(2)内部类使得程序代码更为紧凑,程序更具模块化. 2.内部类实现方法 (1)类中定义和使用一个内部类 在类中直接定义的嵌套类的使用范围,仅限于这个类的内部.内部类的定义和普通

学习笔记:因为java匿名类学习到接口的一些小用法

在看CometD的示例代码时发现了许多有意思的代码,但说实话看别人的代码确实是件很累的事情,所以就看到这个知识点做一下记录吧. 先看一段代码: 代码1 这段代码中有一个new的操作,而且是在方法参数中进行的,这给了我一个好奇的点.此时首先想到的是C#中的匿名类,于是网上找了找资料,确实是类似的语法特性.继续看代码就发现一个问题: ConfigurableServerChannel是一个接口,而且Initializer是ConfigurableServerChannel中的一个内部嵌套接口. 代码

Java 嵌套类(Nested Class):静态嵌套类,内部类,局部类,匿名类

 将一个人比作类,人由大脑.肢体.器官等组成,而嵌套类相当于其中的某个器官,例如心脏:它也有自己的属性和行为(血液.跳动). 嵌套类(Nested Class)的结构: //外部类 class Out { private int age = 12; //嵌套类 class In { public void print() { System.out.println(age); } } } public class Demo { public static void main(String[]

MVC匿名类传值学习

刚接触MVC+EF框架不久,但一直很困惑的就是控制器能否及如何向视图传递匿名类数据.宝宝表示很讨厌去新建实体类啦,查询稍有不同就去建一个实体类不是很麻烦吗,故趁阳光正好,周末睡到自然醒后起来尝试了之前一直在博客园看到的实现方式:英明神武的Tuple类,第一次对微软钦佩之至.故做如下记录,方便自己之后使用.大神就勿喷我啦,宝宝第一次写博客. 首先先描述一下我要实现的功能:从控制器后台查询一些数据,通过匿名类存储,在视图前端遍历输出.初衷实现流程如下: 控制器部分: 1 2 3 4 5 6 7 8

Java中的内部类、匿名类的使用

代码(test.java): 1 interface ie{ 2 public void print(); 3 } 4 5 class outer{} 6 7 public class test{ 8 public class inner{} 9 public void test(ie e){ 10 e.print(); 11 } 12 public static void main(String[] args){ 13 14 15 new test().test(new ie(){ 16 pu

解决内存泄漏更加清楚的认识到Java匿名类与外部类的关系

1.事件起因 在做项目的时候,通过Android Studio的Memory Monitor窗口观察程序内存使用情况,发现当程序退出的时候,有一部分应该释放掉的内存没有释放掉,知道程序中应该有内存泄漏了.为了发现程序中的内存泄漏,我切换了IDE工具到Eclipse,里面安装了内存泄漏的分析工具MAT,具体怎么用MAT分析内存泄漏可以自己Google,我把我自己找到内存泄漏的地方贴出来 从上图中可以看到,有24M左右的内存被mView(其实它真正是一个Fragment)这个变量持有,导致Java垃

AVA实例化类的四种方法

原文地址:JAVA实例化类的四种方法 作者:权镜士 JAVA中实例化类的四种方法 1)使用new操作符 2)调用Class对象的newInstance()方法 3)调用clone()方法,对现有实例的拷贝 4)通过ObjectInputStream的readObject()方法反序列化类 点击(此处)折叠或打开 import java.io.*; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTa