网站大量收购独家精品文档,联系QQ:2885784924

java学习笔记JDK6课件 第09章.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java学习笔记JDK6课件 第09章

* * * * * * * * * * * * * * * * * * * 第9章 管理类别档案 内部类别 package与import 成员内部类别、区域内部类别 成员内部类别,基本上是在一个类别中直接宣告另一个类别 所产生的文件名为「外部类别名称$内部类别名称.class」 public class OuterClass { //内部类别 private class InnerClass { // .... } } 成员内部类别、区域内部类别 区域内部类别定义于一个方法中,类别的可视范围与生成之对象仅止于该方法之中 内部类别还可以被宣告为static“ 由于是“static”,它不能存取外部类别的方法,而必须透过外部类别所生成的对象来进行呼叫 成员内部类别、区域内部类别 被宣告为static的内部类别,事实上也可以看作是另一种名称空间的管理方式 public class Outer { public static class Inner { .... } .... } Outer.Inner inner = new Outer.Inner(); 匿名内部类别 内部匿名类别可以是继承某个类别或是实作某个接口 new[类别或接口()] { //实作 } Object obj = new Object() { public String toString() { //重新定义toString() return匿名类别物件; } }; System.out.println(obj); 匿名内部类别 注意如果要在内部匿名类别中使用外部的局部变量,变量在宣告时必须為final .... public void someMethod() { finalint x = 10; //宣告final Object obj = new Object() { public String toString() { return String.valueOf(x); //x可在匿名类别中使用 } }; System.out.println(obj); } .... 匿名内部类别 局部变量x并不是真正被拿来于内部匿名类别中使用 x会被匿名类别复制作为数据成员来使用 编译程序会要求您加上“final”关键词,这样您就知道不能在内部匿名类别中改变x的值 内部匿名类别在编译完成之后会产生「外部类别名称$编号.class」,编号为1、2、3...n,每个编号n的档案对应于第n个匿名类别 设定包(package) 包被设计与文件系统结构相对应 为了要能建立与包相对应的文件系统结构,您在编译时可以加入-d参数,并指定产生的类别档案要储存在哪一个目录之下 package onlyfun.caterpillar; public class PackageDemo { public static void main(String[] args) { System.out.println(Hello! World!); } } 设定包(package) javac -d . UsePackage.java 在目前的工作位置中会出现onlyfun目录,之下会有个caterpillar目录,而当中有個PackageDemo.class档案 “package”的设定会成为类别名称的一部份 完整类别名onlyfun.caterpillar.PackageDemo java onlyfun.caterpillar.PackageDemo 设定包(package) 「完全描述」(Fullyqualified)名称 完整的指出「包加类别」名称 最后编译完成的.class档案必须放在onlyfun目录的caterpillar目录下 onlyfun.caterpillar.Point2D p1 = new onlyfun.caterpillar.Point2D(10, 20); bad class file: .\Point2D.classclass file contains wrong class: onlyfu

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档