网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > JAVA > 正文

讲述java中内部类的研究

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/07/09

【编者按】网学网JAVA频道为大家收集整理了“讲述java中内部类的研究“提供大家参考,希望对大家有所帮助!

  JAVA从JDK1.1开始引入了内部类,可以参见代码,感觉好处就是设计类的时候可以偷懒,呵呵。主要是可以引用类的内部其他元素,差不多是把这个内部类当成原类的元素。还有可以隐藏类的一些设计细节,好处还是很多的。

定义两个接口

package interfacepackage;

public interface Destination {

String readLabel();

}

package interfacepackage;

public interface Contents {

int value();

}

一个类,并且加有测试代码

package debug;

import interfacepackage.Contents;

import interfacepackage.Destination;

public class Tester {

private int valueRate = 2;

private class PContent implements Contents {

private int i = 11 * valueRate;

public int value() {

return i;

}

}

protected class PDestination implements Destination {

private String label;

private PDestination(String whereTo) {

label = whereTo;

}

public String readLabel() {

return label;

}

}

public Destination dest(String s) {

return new PDestination(s);

}

public Contents cont() {

return new PContent();

}

public static void main(String args[])

{

Tester p = new Tester();

Contents c = p.cont();

System.out.println(c.value());

Destination d = p.dest("天外水火");

System.out.println(d.readLabel());

System.out.println("done");

}

}

  上面的代码是内部动态类,那么内部静态类是否也可以呢?答案是可以的,但是静态内部类是无法引用类的其他非静态元素的,例如上例中的PContent 内部类如果改为static类,是无法引用valueRate 属性的,这样是会报编译错误的,但是如果valueRate 如果也改为static是可以运行的。

  • 上一篇资讯: JAVA中浅复制与深复制
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号