JavaSE 匿名类(Anonymouse Inner Class)实现

{相关信息}
当一个内部类只创建一个对象,并且该类继承一个父类或者实现一个接口的时候,才考虑使用匿名类。

{代码实现}

package sup.orange.learn;

import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
 * Created by re-x on 11/2/14.
 */
public class ListenerAnonymouseClass {
    private Frame f;
    private TextField tf;

    public ListenerAnonymouseClass() {
        f = new Frame("click or move");
        tf = new TextField(30);
    }

    public static void main(String[] args) {
        ListenerAnonymouseClass la = new ListenerAnonymouseClass();
        la.show();
    }

    public void show() {
        f.add("North", tf);
        f.setSize(200, 300);
        f.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                f.dispose();
                f.setVisible(false);
                System.exit(0);
            }
        });

        f.addMouseMotionListener(new MouseMotionAdapter() {
            @Override
            public void mouseMoved(MouseEvent e) {
                super.mouseMoved(e);
                tf.setText("x="+e.getX()+",y="+e.getY());
            }
        });
        f.setVisible(true);
    }
}
时间: 2024-10-29 10:46:14

JavaSE 匿名类(Anonymouse Inner Class)实现的相关文章

内部类与匿名类(转)

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

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垃

Java匿名类

public class Person { public void hello() { System.out.println("我是Person"); } } 1 public class Main 2 { 3 /** 4 * 主函数,程序的入口 5 * @param args 6 */ 7 public static void main(String[] args) 8 { 9 final int num=90;//局部变量 10 11 //匿名类 12 Person p1=new

JAVA学习--匿名类的使用

1 public class TestProduct { 2 public static void main(String[] args) { 3 TestProduct t = new TestProduct(); 4 //方式一:创建一个实现Product接口的类的对象,并将此对象传入方法中 5 NoteBook n = new NoteBook(); 6 t.show(n); 7 //方式二:创建一个实现Product接口的匿名类的对象 8 Product p = new Product(

java匿名类和匿名对象及this的其他用法

/* 匿名内部类:就是内部类的简写格式. 必须前提:内部类必须继承或者实现一个类或者接口. 匿名内部类其实就是一个匿名 子类对象. 格式:new 父类对象 or 接口(){ 子类内容:(覆盖父类的, 而且可以增加自己的方法) }//相当于将 继承父类 和 new 的过程 写到了一起有某有!很方便有某有! */ class Outer{ int num; public Outer(){ num = 5; } class Inner{ int num; public Inner(){ num = 1

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

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

匿名类使用方法

匿名类的使用将一个类定义在另一个类的里面,对里面那个类就称为匿名类的调用.匿名类的访问特点: 1,匿名类可以直接访问外部类的成员. 2,外部类要访问内部类,必须建立在匿名类的对象.什么时候用? 一般用于类的设计,分析事物时,发现该事物还有事物,并且这个事物还在访问被描述的事物的内容.这时就把还有的事物定义为内部类来描述.内部类也相当与封装.匿名类的修饰符:直接访问外部类中的匿名类的成员: outer.inner in=new outer().new inner();如果匿名类是静态的(内部类成员