日期:2011-03-22 16:17:00 来源:本站整理
<b>自定义java工具库</b>[Java编程]
本文“<b>自定义java工具库</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
掌握前述的知识后,接下来便可以开始成立自己的工具库,以便削减大概完好消除反复的代码.比方,可为System.out.println()成立一个体名,削减反复键入的代码量.它可以是名为tools的一个包(package)的一部份:
全部差别的数据范例目前都可以在一个新行输出(P.rintln()),大概不在一个新行输出(P.rint()).//: P.java // The P.rint & P.rintln shorthand package com.bruceeckel.tools; public class P { public static void rint(Object obj) { System.out.print(obj); } public static void rint(String s) { System.out.print(s); } public static void rint(char[] s) { System.out.print(s); } public static void rint(char c) { System.out.print(c); } public static void rint(int i) { System.out.print(i); } public static void rint(long l) { System.out.print(l); } public static void rint(float f) { System.out.print(f); } public static void rint(double d) { System.out.print(d); } public static void rint(boolean b) { System.out.print(b); } public static void rintln() { System.out.println(); } public static void rintln(Object obj) { System.out.println(obj); } public static void rintln(String s) { System.out.println(s); } public static void rintln(char[] s) { System.out.println(s); } public static void rintln(char c) { System.out.println(c); } public static void rintln(int i) { System.out.println(i); } public static void rintln(long l) { System.out.println(l); } public static void rintln(float f) { System.out.println(f); } public static void rintln(double d) { System.out.println(d); } public static void rintln(boolean b) { System.out.println(b); } } ///:~
大家大概会猜想这个文件所在的目录必须从某个CLASSPATH位置开始,然后持续com/bruceeckel/tools.编译完毕后,操纵一个import语句,便可在自己系统的任何地方利用P.class文件.以下所示:
ToolTest.java
所以从目前开始,无论什么时刻只要做出了一个有效的新工具,便可将其加入tools目录(大概自己的个人util或tools目录).
1. CLASSPATH的陷阱
P.java文件存在一个非常风趣的陷阱.分外是关于早期的Java实现筹划来说,类途径的精确设定普通都是很艰难的一项工作.编写这本书的时刻,我引入了P.java文件,它最初看起来仿佛工作很正常.但在某些情形下,却开始呈现中止.在很长的时间里,我都确信这是Java或其他什么在实现时一个错误.但最后,我终于发目前一个地方引入了一个程序(即第17章要阐明的CodePackager.java),它利用了一个差别的类P.由于它作为一个工具利用,所以有时刻会进入类途径里;另一些时刻则不会这样.但只要它进入类途径,那么假如履行的程序需求探求com.bruceeckel.tools中的类,Java首先发现的就是CodePackager.java中的P.此时,编译器会报告一个特定的办法没有找到.这当然是非常令人头疼的,因为我们在前面的类P里明显看到了这个办法,并且根本没有更多的诊断报告可为我们供应一条线索,让我们知道找到的是一个完好差别的类(那乃至不是public的).
乍一看来,这仿佛是编译器的一个错误,但假如观察import语句,就会发现它只是说:“在这里大概发现了P”.但是,我们假定的是编译器搜索自己类途径的任何地方,所以一旦它发现一个P,就会利用它;若在搜索历程中发现了“错误的”一个,它就会终止搜索.这与我们在前面表述的略微有些辨别,因为存在一些讨厌的类,它们都位于包内.而这里有一个不在包内的P,但仍可在通例的类途径搜索历程中找到.
假如您碰到象这样的情形,请务必保证关于类途径的每个地方,每个名字都仅存在一个类.
以上是“<b>自定义java工具库</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论