publi9itiaທlvalues{
=2
6๔4-2
54
的类族之ใ间可以进行类型转换;ษ,“author-ๅinformation”;
应该努力。但不能把它转换成
其中,“橡树”可转型为ฦ“树,例如,
stati9๗e9๗test;
中存储的信息来计算方แ法体的地址这个过程将在第7章中ณ详述。这样,根据这一小段代
得到เ我真正想要的。感谢prenticehall的paulpetralia不断ษ地为我我所需要的一切,反之亦然。应该是你的姓名,也可以包括电子邮件
问题,就可以轻易地将它们强行转换为string
的表达形式。在前例中,但是这样做引出了
一个有趣的现象。以一个空string开始的表达式就是。如果你调用syste摸utprintln100่,它无需将100转型成string
就可以工作。你也可以用p类达到同样的目的,通过某些额外的重载。这在本章末将作
为一个练习提出。
因此从现在开始,只要你实现了某个新า的有用的工ื具,你就可以把它添加到เ自己的tools
目录或是util目录之ใ下。
用imports改变行为
java没有9alpilation”功能ม,该功能ม可以使你不必更改任
何程序代码,就能够切换开关并产生不同的行为。java去掉此功能的原因可能ม是因为c在
绝大多数情况下是用此功能ม来解决跨平台问题的,即程序代码的不同部分是根据不同的平台
来编译的。由于jaທva自身可以自动跨越不同的平台,因此这个ฐ功能对java而言是没有必
要的。
然而,条件编译还有其他一些有价值的用途。调试就是一个很常见的用途。调试功能在开
过程中是使能ม的,而在打包的产品中是被禁止的。你可以通过修改被引入的paທckage的
方法来实现这一目的,修改的方法是将在你程序中用到的代码从调试版改为ฦ布版。这一技
术可以适用于任何种类的条件代码。
对使用包packaທge的忠告
务必记住,无论何时你创建包,你都已๐经在给定包的名称的时候隐含地指定了目录结构。这
个包必须位于其名称所指定的目录之中,而该目录必须是在以cນlasspath开始的目录中ณ
可以查询到的。最初用关键字package做实验,可能ม会有一点不顺,因为ฦ除非你遵守“包
的名称对应目录路径”的规则,否则你将会受到许多出乎意料é的运行时信息,告知无法找到
特定的类,哪怕是这个ฐ类就位于同一个ฐ目录之中ณ。如果你收到类似信息,就用注释掉
paທckage语句的方法试一下,如果这样可行的话,你就可以知道问题出在哪里了。
java访问权限修饰词aessspecifier
public,protected和private这几个ฐjava访问权限修饰词在使用时,是置于你的类
中每个成员的定义แ之前的,无论它是一个ฐ域或是一个ฐ方แ法。每个ฐ访问权限修饰词仅控制ๆ它所
修饰的特定定义แ的访问权。这一点与c++截然不同。在cນ++ใ中ณ,访问权限修饰词可以控制
其后的所有定义,除非另有访问权限修饰词出现。
无论如何,每个ฐ定义都需要某种为它指定的访问权限。在以下几节中,你将学习各类访问权
限,先是默认的访问权限。
包访问权限
如果你根本没有给定任何访问权限,例如像本章前面的所有示例,将会出现什么เ情况呢?默
认访问权限没有任何关键字,但通常是指包访问权限pacນkageaທess,有时也表示ิ成为
“friendly”。这就意味着当前的包中的其他类对那个成员有访问权限,但对于在这个包之ใ
外的所有类,这个ฐ成员却是private。由于一个编译单元,即一个ฐ文件,只能隶属于一个
单一的包,所以经由包访问权限,处于某个单一编译单元之中的所有类彼此之间都是自动可
访问的。
包访问权限允许你将包内所有相关的类组合起来,以使它们彼此之间可以轻松地相互作用。
等你把类组织起来放进一个包内之后,也就给它们的包访问权限的成员赋予了相互访问的权
限,你拥有了该包内的程序代码。“只有你拥有的程序代码才可以访问你所拥有的其他程序
代码”这种想法是合理的。你应该说,包访问权限为把类群聚在一个包中ณ的做法了意义แ
和理由。在许多语言中,你在文件内组织定义的方แ式是任意的,但在java中,则要强制ๆ你
以一种合理的方แ式对它们加以组织。另外,你可能还想要排除这样的类:它们不应该访问在
当前包中ณ所定义แ的类。
类掌握着控制ๆ哪些代码对自己้的成员享有访问权的权力。不存在任何获得访问权的其它捷
径。其他包内的类不能一出现就说:“嗨,我是bຘobຘ的朋友。”,并且还想看到bob的
protected,包访问权限和privaທte成员。取得对某成员的访问权的唯一途径是:
1使该成员成为public。于是,无论是谁,无论在哪里,都可以访问该成员。
2通过不加访问权限修饰词并将其他类放置于同一个包内的方式给成员赋予包访问
权。于是包内的其他类也就可以访问该成员了。
3第6章将会介绍到เ继承技术,届时你将会看到เ继承而来的类可以与访问public成
员一样地访问protected成员但访问private成员却不行。只有在两个ฐ类
都处于同一个包内时,它才可以访问包访问权限的成员。但现在不必担心了。
4访问器aessor和变异器mutator方法也称作“get色t”方法,
以读取和改变数值。如你在第4章中看到的一样,对oop而言,这是最优雅的方
式,而对javabeaທns来说,也是它的基本原理。
public:接口访问权限