岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Java >> 新手入门 >> oop面向对象 >> Java正文
Java内部类(Inner Class)详解
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-7-22 16:30:36
p;action.doAction();
        
        //define a nonoymous class which extends BaseClass and create an instance of it
        new BaseClass(5) {
            public void printData(){
                System.out.println("data = " + getData());
            }
        }.printData(); //"data = 5" will be outputed
    }
}

interface Action {
    void doAction();
}

class BaseClass {
    private int data;
    
    public BaseClass (int data) {
        this.data = data;
    }
    
    public int getData() {
        return data;
    }
}

 

4.1      匿名类特性与约束 匿名类是一种特殊的局部类。局部类的特性与约束都适用与它。 4.2      新增语法 4.2.1      继承自某个基类的匿名类
new class-name ( [ argument-list ] ) { class-body }
  创建匿名类实例时,“argument-list”将被传入其基类(即class-name)对应的构造函数。 4.2.2      实现某个接口的匿名类
new interface-name () { class-body }

4.3      什么时候使用匿名类

该类定义代码段很短

只需要创建该类的一个实例

类的定义代码与类的使用代码紧邻

使用匿名不影响代码的易读性

譬如,如下实现类似与c的callback功能的代码就是匿名类的典型应用:   File f = new File("/src");      // The directory to list

// Now call the list() method with a single FilenameFilter argument
// Define and instantiate an anonymous implementation of FilenameFilter
// as part of the method invocation expression. 
String[] filelist = f.list(new FilenameFilter() {
  public boolean accept(File f, String s) { return s.endsWith(".java"); }
}); // Don't forget the parenthesis and semicolon that end the method call

上一页  [1] [2] [3] [4] [5] [6] [7] 


  • 上一个Java:
  • 下一个Java:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    传世私服 传奇世界私服 天龙八部私服 bet365 传世私服 天龙八部私服 热血江湖私服 英雄合击传奇私服 热血江湖私服 bet365 bet365