Java中如何封装自己的类,建立并使用自己的类库?
from:http://blog.csdn.net/luoweifu/article/details/7281494
随着自己的编程经历的积累会发现往往自己在一些项目中写的类在别的项目中也会有多次用到。你肯定会想:如何自己的写的一些常用的类积累起来,生成自己的类库?如果是这样的话,很庆幸,你遇到通道中人了,因为我也是这样做的。下面就介绍一下我是怎么做的吧:
一、先来明白一下关于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,如下图

选择要生成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,自己去琢磨吧!哈哈……
Java中如何封装自己的类,建立并使用自己的类库?的更多相关文章
- Java中的封装
在前面的一些日子里,一只都在学习C#语言,使用C#在做一些小项目的,今天转到了Java的学习,还是感觉有点的不习惯,没有以前的中文界面的,全是英文.写起代码来都一直保持着C#中的编码的习惯,但是学习J ...
- Java中使用 Long 表示枚举类
Java中使用 Long 表示枚举类 在日常的开发过程中,很多时候我们需要枚举类(enum)来表示对象的各种状态,并且每个状态往往会关联到指定的数字,如: private enum Color { R ...
- java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...
- Java中各种集合(字符串类)的线程安全性!!!
Java中各种集合(字符串类)的线程安全性!!! 一.概念: 线程安全:就是当多线程访问时,采用了加锁的机制:即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读 ...
- Java中的集合和常用类
Java中的常用类: ▪ Object类 ▪ Math类 ▪ String类和StringBuffer类(字符串) ▪ 8种基本类型所对应的包装类 ▪ java.util包中的类——Date类 Obj ...
- Java中是否可以调用一个类中的main方法?
前几天面试的时候,被问到在Java中是否可以调用一个类中的main方法?回来测试了下,答案是可以!代码如下: main1中调用main2的主方法 package org.fiu.test; impor ...
- Java中必须了解的常用类
1.Java的包装类 基本数据类型我们都很熟悉,例如:int.float.double.boolean.char等,基本数据类型不具备对象的特征,不能调用方法,一般能实现的功能比较简单,为了让基本数据 ...
- JAVA中的集合容器操作类
目录 JAVA中的集合容器操作类 List集合 ArrayList的操作方法说明 LinkedList Stack Set Map Queue 总结 JAVA中的集合容器操作类 Java容器类库总共分 ...
- JAVA基础——Java 中必须了解的常用类
Java中必须了解的常用类 一.包装类 相信各位小伙伴们对基本数据类型都非常熟悉,例如 int.float.double.boolean.char 等.基本数据类型是不具备对象的特性的,比如基本类型不 ...
随机推荐
- Java的LinkedList详解,看源码之后的总结
1. LinkedList实现了一个带表头的双向循环链表: 2. LinkedList是线程不同步的: 3. LinkedList中实现了push.pop.peek.empty等方法,因此Linked ...
- EBS总账(GL)模块常用表
select * from gl_sets_of_books 总帐 select * from gl_code_combinations gcc wheregcc.summary_flag='Y ...
- Android性能优化之Listview(ViewHolder重用机制)
相信大家在很多时候都会用到ListView这个控件,因为确实是用的很多很多,但是有木有遇到过当数据很多很多的时候,往下滑ListView时有时候会卡顿,这就需要我们来优化它了. ListView优化主 ...
- 最详细的制作正式版10.11 OS X El Capitan 安装U盘的方法
原帖地址:http://bbs.feng.com/read-htm-tid-10036487.html 一.准备工作: 1.准备一个 8GB 或以上容量的 U 盘,确保里面的数据已经妥善备份好(该过程 ...
- iterm2 快捷键
最近开始使用mac,用iterm2的终端,有些快捷键纪录下. 标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 或者 command + 左 ...
- Android官方推荐使用DialogFragment替换AlertDialog
DialogFragment是在Android3.0(API level 11)中引入的,它代替了已经不建议使用的AlertDialog. DialogFragment高效地封装和管理对话框的生命周期 ...
- [Linux]vbox 虚拟机添加新磁盘
情况是这样的,开始创建虚拟机的时候硬盘设置太小了,只有10g,我现在通过vbox的设置给这个linux(centos6.6)虚拟机添加了一块硬盘. 下面的操作就是怎么把硬盘挂载到系统中. 通过 fdi ...
- iOS中 自定义系统相机 作者:韩俊强
需要框架: #import <AVFoundation/AVFoundation.h> #import <AssetsLibrary/AssetsLibrary.h> 布局如下 ...
- iOS中 WGAFN_网络监控 技术分享
需要用到第三方AFNetworking/SVProgressHUD 没有的可以关注我微博私信我.http://weibo.com/hanjunqiang AppDelegate.m #import & ...
- Ubuntu14.04安装配置Chrome浏览器
1.获取软件 32位版本: wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb 64位版本: w ...