`
xitongyunwei
  • 浏览: 924767 次
文章分类
社区版块
存档分类
最新评论

Java中如何封装自己的类,建立并使用自己的类库?

 
阅读更多

Java中如何使封装自己的类,建立并使用自己的类库?

——感谢您的阅读,转载请标明出处!

随着自己的编程经历的积累会发现往往自己在一些项目中写的类在别的项目中也会有多次用到。你肯定会想:如何自己的写的一些常用的类积累起来,生成自己的类库?如果是这样的话,很庆幸,你遇到通道中人了,因为我也是这样做的。下面就介绍一下我是怎么做的吧:

一、先来明白一下关于classpath和path的概念

path是java中用来进行编译和运行的程序所在的路径,而classpath是类所在的路径。安装JDK之后,你应当设置好path和classpath路径。现在假设你JDK是安装在D:\IT\JDK6.0\java(TM) SE Development Kit下(因为我自己的是安装在此目录下),那么你要设置的path路径就是这个路径下的bin文件夹,即D:\IT\JDK6.0\java(TM) SE Development Kit\bin,因为bin文件夹下里面有javac.exe和java.exe(就是java中用来进行编译和运行的程序)。设置的方法如下:

1.打开“我的电脑\高级\环境变量”,如果是win7,则是:““计算机\属性\系统属性\高级环境变量”,打开如图一,

图一

双击“系统变量”下的path,把D:\IT\JDK6.0\java(TM) SE Development Kit设置进去,如图二

图二

打开命令提示符,输入javac,如果有一连串的文字,则说明设置成功。顺便说一下常用的命令提示符:javac 编译java文件,java运行java文件,java –version查询JDK的版本,包路径+“-cvf”+ className.java 打成Jar包,

2.接下来是接着设置classpath,假设你的java文件是在E:java文件夹,则可这样设置:如图三,后面有一点表示当前路径,这样的话你可以再任何路径下用javac编译java文件。

图三

3.如果你现在又一个打包好的jar文件(如何达成jar包后面会讲),现在要使用jar包里的类,则需要将jar包设置成classpath变量。假设你有一个自己tools.jar包,放在D:\IT\JDK6.0\java(TM) SE Development Kit\myJar,则需要将D:\IT\JDK6.0\java(TM) SE Development Kit\myJar\tools.jar设置到classpath中,如图四

图四

此时,你就可以在类中引用tools.jar中的类了,只需要在类中将其引入。以上操作在win7可能还出问题,还需要设置用户变量里的classpath(为什么会这样,我也不值得,希望共同探讨)。注意在图一中是有“Adiministrator用户变量”和“系统变量的”,这是只需按照图四将D:\IT\JDK6.0\java(TM) SE Development Kit\myJar\tools.jar设置到用户变量里的classpath中去就行。

二、在Eclipse中如何打成jar包?生自己的类库

Eclipse和MyEclipse是目前最流行的java集成开发环境,如果你用的是其他的开发工具,建议你尝试着用一下Eclipse进行开发,因为它功能很强大,很好用。下面就介绍一下如何在Eclipse下将自己写好的类打成jar包,生成自己的类库。

假设当前的文档结构这样的:

图五

右击项目文件Tool,选择Export,打开对话框,选择Java\JAR file后下一步,如果你只需要打包cn.edu.jxau.tools下的类,只需要选择该类即可,如图六

图六

在JAR file中选择要导出的路径和文件名,如图图七

图七

点击“下一步”、“下一步”,然后Main class中选择包含main函数(如果有面函数的话),然后点击完成(finish)。

三、为自己的类生成注释文档,即生成javadoc文件。

第二的介绍可以生成自己的类库了。但是时间久自己写的类和方法就会忘记,生成一个高质量的注释文档就很有必要的。庆幸的是Java自己就能很好的完成这一功能,能帮我们生成类似API的文档,即javadoc文档。下面介绍一下在Eclipse中如何生成javadoc文档:

1、对类进行注释

在生成javadoc文档之前首先要对类进行注释。注释有如下三种方式:

a,//注释内容;b,/*注释内容*/;(快捷键:选中要注释的内容后按“shift+Ctrl+/”,取消注释是“shift+Ctrl+\”)

c,

/**

*注释内容。

*/

其中只有c方式在生成javadoc中才有用。以我自己写的ArrayQueue类为例说明一下几种注释,只需要对public方法和变量进行注释,因为只有public类型才能被其他类访问。

(1)、在类前面注释类说明和创作者,如

/**

* 文件的复制,字符串输入到文件中,将文件内容打印到控制台

*

* @author xiaoxu

*

*/

(2)、在public方法前面注释方法的说明,如public static String readFile(File file)方法注释:

/**

* 读取一个文件里的内容

*

* @param file

* 要读的文件

* @return 返回读取文件的字符串

*/

(3)、注释对public变量进行注释,假设有一表示窗口宽度的变量WIDTH,如下注释

/**

* 主窗口的宽度

*/

public static final int WIDTH = 1000;

部分结果如下

图八(1)

2、用Eclipse生成javadoc文档

选中要生成javadoc文档的项目,再在菜单栏中的选择菜project\Generate Javadoc…。打开对话框后“javadoc command”的默认路径是C:\jdk\bin\javadoc.exe,如果没有该路径就自己添加,找到自己安装JDK的根目录下的bin\javadoc.exe,如下图

图8(2)

选择要生成javadoc的文件,然后选择导出的路径,一般选择默认的项目下的doc文件夹,改成其他路径可能会有错。如下:


图8(3)

之后就一路next,最后点finish就OK了。在这期间可能会出现警告,如下图


图8(4)

选择“Yes To All”。

四、如何使用自己创建的类库?

通过一、二、三,已经能够创建自己的类库了。下面说明一下如何使用自己的类库。

方法一:

假设现在要创建一个项目Test,里面要用到自己类库tools.jar中的S类。新建一个类Test.java,里面的main方法是这样的:

public static void main(String[] args) {

S.pl("java"); //S类中的S.pl()封装了System.out.println(obj);

}

这时Eclipse会报错,会说S这个类不存在,是否要创建这个类。这是因为默认的JRE并不存在tools.jar这个包,如图八。

图八(5)

那么如何将这个包夹道默认的JRE System Library中呢?

选择Window\ Preferences,打开对话框,选择Java\Installed JREs,如图九

图九

接下来,点击“Add”添加一个新的JRE,选择Standard VM后点击下一步,在JRE home中点击Directory选择JDK按钮路径下的jre文件夹(即包含rt.jar的文件夹,rt.jar是jdk的根文件夹,里面包含了所有的基本类)如图,然后点击“Add External JARs”选择生成好的tools.jar文件(最好先别tools.jar放在一个比较访问,比较安全的文件夹内,我的是直接放在JDK安装路径下的D:\IT\JDK6.0\java(TM) SE Development Kit\myJar里),如图十

图十

点击finish。

然后,在Test项目中将默认的JRE System Library换成刚刚配置好的JRE,右击Test选择Build Path选择Configure Build Path…,打开对话框,将原有的JRE Remove掉,然后Add Library,选择JRE System Library,下一步,点击“Installed JREs”后选择刚刚配置好的那个JRE,点击finish。

现在就配置好了。此时的JRE就能看到tools.jar文件,如下图:

图十一

方法二:

将刚刚生成的自己的类库Tool.jar直接拷贝到JDK和JRE的安装目录中的jre/lib/ext/中,这时候我们需要重启一下Eclipse,这样才能将刚才的那个包加载进自动生成的系统库中。

方法三:

当然除以上方法之外,也可以直接在单个项目中通过"bulid path"导入External Jar,额外的jar包。此方法类似于更换新的JRE,自己去琢磨吧!哈哈……

当然这只是我自己个人琢磨出来的方法,可能还有更好的方法。对这方面的知识我还需要进一步的学习,如果有对此方面感兴趣的朋友,欢迎加入我,互相学习,我的联系方法是:

email:luoweifu@126.com;

分享到:
评论

相关推荐

    Java语言基础下载

    在Java中使用HQL 709 内容总结 712 独立实践 712 第三十七章 Spring介绍 713 学习目标 713 Spring简介 714 IOC控制反转 714 Spring的容器 715 AOP面向切面编程 715 AOP的专业术语 715 Spring事务管理 718 Spring与...

    java 面试题 总结

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...

    java基础案例与开发详解案例源码全

    5.4.4 Java中对象的创建和使用127 5.5 属性130 5.5.1 属性的定义130 5.5.2 变量131 5.6 方法132 5.6.1 方法的定义132 5.6.2 构造方法135 5.6.4 方法重载138 5.6.5 自定义方法138 5.6.6 系统提供方法139 5.6.7 方法...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...

    基于JAVA超级玛丽游戏GUL 设计软件源码+WORD毕业论文文档.zip

    Java吸收了C++面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。 4. 分布式 Java建立在TCP/IP网络平台上,提供了用HTTP和FTP协议传送和接收信息的...

    互联网大厂Java面试专题汇总.zip

    3、与平台无关性(JVM是Java跨平台使用的根本) 4、可靠安全 5、支持多线程 2、面向对象和面向过程的区别 面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调 用则可。...

    超级有影响力霸气的Java面试题大全文档

     声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,...

    Java面试题、面经.pdf

    3、与平台无关性(JVM是Java跨平台使用的根本) 4、可靠安全 5、支持多线程 2、面向对象和面向过程的区别 面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调 用则可。...

    基于Java的即时通讯系统设计与实现【文献综述】.doc

    Java同样支持继承特性,Java的类可以从其它类中继承行为,但Java只支持类的单重 继承,即每个类只能从一个类中继承。 Java支持界面,界面允许程序员定义方法但又不立即实现,一个类可以实现多个界面 ,利用界面可以...

    基于Java的猜拳小游戏设计.doc

    Java采用面向对象技术,所有的Java程序都是对象,通过封装性实现了模块化和信息隐 藏,通过继承性实现了代码的复用,使得用户可以根据自己的需要创建自己的类库。 Java最强大的是网络方面的应用,本课程设计不涉及...

    java7hashmap源码-JavaInterview:Java面试汇总

    面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封装、继承、多态的特性,所以易维护、易复用、易...

    java7hashmap源码-JavaInterview:适用于Java面试的文档

    面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封装、继承、多态的特性,所以易维护、易复用、易...

    asp.net知识库

    使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的...

    C#微软培训资料

    18.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...

    高级java笔试题-JavaInterview:Java面试整理,涵盖基础、JVM、线程并发、框架、MySQL、微服务、Redis、中间件、数

    面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封装、继承、多态的特性,所以易维护、易复用、易...

    java7hashmap源码-aa:面试资料

    面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封装、继承、多态的特性,所以易维护、易复用、易...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    c#学习笔记.txt

    2. 在集合类中使用一个预定义的集合。 (2) throw 语句用于发出在程序执行期间出现反常情况(异常)的信号。throw 语句的形式为: throw [expression]; expression :异常对象。当在 catch 子句中再次引发当前异常...

    Visual C++实践与提高-COM和COM+篇『PDF』

    5.3 在Vsual C++中使用ActiveX控件——例程VCActiveX 5.3.1 创建ActiveX控件包容器程序 5.3.2 加载ActiveX控件 5.3.3 设计时访问控件的属性 5.3.4 运行时访问控件的属性和方法 5.3.5 处理控件的事件 5.4 在Visual ...

Global site tag (gtag.js) - Google Analytics