首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> 新手入门 >> 基础入门 >> 正文

关于Java编程语言中的内部类说明


    局部内部类

    是的,Java内部类也可以是局部的,它可以定义在一个方法甚至一个代码块之内。

    public class Goods1 {

    public Destination dest(String s) {

    class GDestination implements Destination {

    private String label;

    private GDestination(String whereTo) {

    label = whereTo;

    }

    public String readLabel() { return label; }

    }

    return new GDestination(s);

    }

    public static void main(String[] args) {

    Goods1 g= new Goods1();

    Destination d = g.dest("Beijing");

    }

    }

    上面就是这样一个例子。在方法dest中我们定义了一个内部类,最后由这个方法返回这个内部类的对象。如果我们在用一个内部类的时候仅需要创建它的一个对象并创给外部,就可以这样做。当然,定义在方法中的内部类可以使设计多样化,用途绝不仅仅在这一点。

    下面有一个更怪的例子:

    public class Goods2{

    private void internalTracking(boolean b) {

    if(b) {

    class TrackingSlip {

    private String id;

    TrackingSlip(String s) {

    id = s;

    }

    String getSlip() { return id; }

    }

    TrackingSlip ts = new TrackingSlip("slip");

    String s = ts.getSlip();

    }

    }

    public void track() { internalTracking(true); }

    public static void main(String[] args) {

    Goods2 g= new Goods2();

    g.track();

    }

    }

上一页  [1] [2] [3] [4] 下一页

【责编:Ken】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航