日期:2011-03-22 16:17:00 来源:本站整理
<b>java中的内部类</b>[Java编程]
本文“<b>java中的内部类</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在Java 1.1中,可将一个类定义置入另一个类定义中.这就叫作“内部类”.内部类对我们非常有效,因为操纵它可对那些逻辑上彼此接洽的类举行分组,并可掌握一个类在另一个类里的“可见性”.但是,我们必须熟习到内部类与从前报告的“合成”办法存在着根本的辨别.
普通,对内部类的需求并非分外明显的,至少不会当即感遭到自己需求利用内部类.在本章的末尾,介绍完内部类的全部语法之后,大家会发现一个分外的例子.通过它应当可以清楚地熟习到内部类的好处.
成立内部类的历程是平淡无奇的:将类定义置入一个用于封装它的类内部(若履行这个程序碰到麻烦,请拜见第3章的3.1.2小节“赋值”):
//: Parcel1.java // Creating inner classes package c07.parcel1; public class Parcel1 { class Contents { private int i = 11; public int value() { return i; } } class Destination { private String label; Destination(String whereTo) { label = whereTo; } String readLabel() { return label; } } // Using inner classes looks just like // using any other class, within Parcel1: public void ship(String dest) { Contents c = new Contents(); Destination d = new Destination(dest); } public static void main(String[] args) { Parcel1 p = new Parcel1(); p.ship("Tanzania"); } } ///:~
若在ship()内部利用,内部类的利用看起来和其他任何类都没什么辨别.在这里,唯一明显的辨别就是它的名字嵌套在Parcel1里面.但大家不久就会知道,这其实并非唯一的辨别.
更典型的一种情形是,一个外部类拥有一个特别的办法,它会返回指向一个内部类的句柄.就象下面这样:
若想在除外部类非static办法内部之外的任何地方生成内部类的一个对象,必须将那个对象的范例设为“外部类名.内部类名”,就象main()中展示的那样.//: Parcel2.java // Returning a handle to an inner class package c07.parcel2; public class Parcel2 { class Contents { private int i = 11; public int value() { return i; } } class Destination { private String label; Destination(String whereTo) { label = whereTo; } String readLabel() { return label; } } public Destination to(String s) { return new Destination(s); } public Contents cont() { return new Contents(); } public void ship(String dest) { Contents c = cont(); Destination d = to(dest); } public static void main(String[] args) { Parcel2 p = new Parcel2(); p.ship("Tanzania"); Parcel2 q = new Parcel2(); // Defining handles to inner classes: Parcel2.Contents c = q.cont(); Parcel2.Destination d = q.to("Borneo"); } } ///:~
以上是“<b>java中的内部类</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:内部类和上溯造型
- ·下一篇文章:初始化java接口中的字段
- ·中查找“<b>java中的内部类</b>”更多相关内容
- ·中查找“<b>java中的内部类</b>”更多相关内容
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论