网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > 新手入门 > 开发工具 > 自定义工具库  

自定义工具库

2003-11-17  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  自定义工具库
  掌握前述的知识后,接下来就可以开始创建自己的工具库,以便减少或者完全消除重复的代码。例如,可为System.out.println()创建一个别名,减少重复键入的代码量。它可以是名为tools的一个包(package)的一部分:
  //: 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);
网管下载dl.bitscn.com

   }
   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);
   }
  } ///:~
  所有不同的数据类型现在都可以在一个新行输出(P.rintln()),或者不在一个新行输出(P.rint())。 网管有家bitscn.net
  大家可能会猜想这个文件所在的目录必须从某个CLASSPATH位置开始,然后继续com/bruceeckel/tools。编译完毕后,利用一个import语句,即可在自己系统的任何地方使用P.class文件。如下所示:
  ToolTest.java
  所以从现在开始,无论什么时候只要做出了一个有用的新工具,就可将其加入tools目录(或者自己的个人util或tools目录)。
  CLASSPATH的陷阱
  P.java文件存在一个非常有趣的陷阱。特别是对于早期的Java实现方案来说,类路径的正确设定通常都是很困难的一项工作。编写这本书的时候,我引入了P.java文件,它最初看起来似乎工作很正常。但在某些情况下,却开始出现中断。在很长的时间里,我都确信这是Java或其他什么在实现时一个错误。但最后,我终于发现在一个地方引入了一个程序(即第17章要说明的CodePackager.java),它使用了一个不同的类P。由于它作为一个工具使用,所以有时候会进入类路径里;另一些时候则不会这样。但只要它进入类路径,那么假若执行的程序需要寻找com.bruceeckel.tools中的类,Java首先发现的就是CodePackager.java中的P。此时,编译器会报告一个特定的方法没有找到。这当然是非常令人头疼的,因为我们在前面的类P里明明看到了这个方法,而且根本没有更多的诊断报告可为我们提供一条线索,让我们知道找到的是一个完全不同的类(那甚至不是public的)。 网管联盟bitsCN_com
  乍一看来,这似乎是编译器的一个错误,但假若考察import语句,就会发现它只是说:“在这里可能发现了P”。然而,我们假定的是编译器搜索自己类路径的任何地方,所以一旦它发现一个P,就会使用它;若在搜索过程中发现了“错误的”一个,它就会停止搜索。这与我们在前面表述的稍微有些区别,因为存在一些讨厌的类,它们都位于包内。而这里有一个不在包内的P,但仍可在常规的类路径搜索过程中找到。
  如果您遇到象这样的情况,请务必保证对于类路径的每个地方,每个名字都仅存在一个类。
TAGs工具   定义   System.out.println   publicstaticvoidrintln    
 上一篇:Java实用工具   下一篇:java 1.4中工具的改变和更新
相关文章列表
自定义工具库 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.点评NetBeans 6.5 M1之善恶丑
2.Maven2学习入门教程及实例
3.Maven2 体验
4.精通JBuilder:维护JBuilder类库
5.在JRuby中构建领域特定语言
6.在java中产生随机数的两种方式过程详解
7.基于JRobin的CPU使用率监控
8.精通JBuilder:类库的结构
9.脚本编程语言--JavaFX应用问题解答
10.精通JBuilder:维护工程扩展类库
最新推荐文章:
1.Eclipse开发经典教程:SWT布局
2.使用java开发facebook网站应用程序
3.使用JasperReport与iBATIS开发Web报表
4.基于web的java应用开发的备用工具
5.如何使用JMeter测试Java项目
6.JRuby 1.0发布:实现JVM对Ruby的兼容
7.认识p-unit:一款开源的性能测试工具
8.JavaFX应用程序制作工具JFXBuilder
9.Eclipse Template与模式
10.Java新手看招 常用开发工具介绍
网管论坛交流:
·大家来开心一下吧---看了会很开心的东西-
·中国人不可不知道的知识
·@@小鹏◎◎小鹏同志与某位女明星亲密接触
·◎◎小鹏◎◎发现不明生物,居然正在交配
·[图文]^^^版主是什么?????
·泡论坛的女人是好女人
·做个“水性杨花”的女人
·献给mm俱乐部的所有mm
·深圳一集团企业电脑基础应用培训教程
·■■■■十一遊玩照■■■■■