下载此文档

JAVA内部类 (2).ppt


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
JAVA内部类(下)内部类就像大家闺秀一样,虽然身居类的内部,却和外界有着剪不断理还乱的丝丝缕缕的联系……古代一般人家的姑娘都要深居简出,但格格就不一样了,她们可以假扮成阿哥偷偷出宫,皇阿玛拿她也没辙。静态内部类就是这样一位格格。为创建一个static内部类的对象,我们不需要一个外部类对象。不能从static内部类的一个对象中访问一个外部类对象。由于static成员只能位于一个类的外部级别,所以内部类不可拥有static数据或static内部类。 倘若为了创建内部类的对象而不需要创建外部类的一个对象,那么可将所有东西都设为static。为了能正常工作,.()中,我们不需要Girl的对象,就像一个格格不需要通过皇阿玛的允许就私自出宫会情夫一样。相反,我们用常规的语法来选择一个static成员,以便调用将句柄返回AAge和Name的方法。通常,我们不在一个接口里设置任何代码,但static内部类可以成为接口的一部分。由于类是“静态”的,所以它不会违反接口的规则——static内部类只位于接口的命名空间内部:.,就要用一个点号以及一个this来命名外部类。举个例子来说,,它的所有方法都能产生外部类Girl的存储句柄,。结果获得的句柄会自动具备正确的类型(这会在编译期间检查并核实,所以不会出现运行期的开销)。有些时候,我们想告诉其他某些对象创建它某个内部类的一个对象。为达到这个目的,必须在new表达式中提供指向其他外部类对象的一个句柄。.,否则不可能创建内部类的一个对象。这是由于内部类的对象已同创建它的外部类的对象“默默”地连接到一起。然而,如果生成一个static内部类,就不需要指向外部类对象的一个句柄。引用外部类对象由于内部类构建器必须同封装类对象的一个句柄联系到一起,所以从一个内部类继承的时候,情况会稍微变得有些复杂。这儿的问题是封装类的“秘密”句柄必须获得初始化,而且在衍生类中不再有一个默认的对象可以连接。解决这个问题的办法是采用一种特殊的语法,明确建立这种关联。.,NickName只对内部类进行了扩展,没有扩展外部类。但在需要创建一个构建器的时候,默认对象已经没有意义,我们不能只是传递封装对象的一个句柄。此外,必须在构建器中采用下述语法: (); 它提供了必要的句柄,以便程序正确编译。内部类的继承“覆盖”一个内部类——好象它是外部类的另一个方法——这一概念实际不能做任何事情。.,而且会调用基础类的默认构建器。大家或许会认为由于准备创建一个Lady,所以会使用Name的“被覆盖”版本。但实际情况并非如此。输出如下: newGirl()() 这个例子简单地揭示出当我们从外部类继承的时候,没有任何额外

JAVA内部类 (2) 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人花开一叶
  • 文件大小220 KB
  • 时间2019-02-08