java中的package和import
一, package,import引入原因:
package:
我们都熟悉超市,超市虽然庞大,东西繁多,却管理的井井有条,很容易找到某样东东;,之所以能如此,一个重要的原因就是采用了分类放置,既方便了管理,又方便了寻找
Package也是一个分类放置东东的区域,不过它放的不是商品而是java中的类。Java中有各种各样的类,
内容丰富,门类繁多,为了更好的管理,识别,就为每一类型的类建立一个区域,这个区域就是包
import:
类放入了包中,在运行时如何才能找到它呢? 我们知道类分三种,“系统类”,“扩展类”,“用户类”;前两种由jvm指定路径; 而用户类的是通过 “–classpath”, “classpath” 及 缺省路径“.”与import的配合来查找的,查找顺序如下:
1. –classpath(命令行模式下使用);
2. classpath(在环境变量中设计,当有 –classpath时该路径信息不起作用)
3. 缺省路径”.” 当前目录(当前两步都没有时,才会使用缺省路径)
朋友们不知是否思考过这样的问题: 既然“系统类”,“扩展类”,“用户类”java都有路径机制对应到它们,那为什么还要引入import呢? 这似乎是个有趣的话题
我们知道,java程序在运行时,除一些系统类通过系统内定的路径(写死了)预载入外,其它所有的类都必须要”精确“(请注意是精确喔)定义位置, 然而,实际中无论是通过jvm内定还是classpath,二者一般只指定到比较大的层次上(为什么要这样呢,想想就知道喽),大致如下:
系统类jvm指定到 jre\lib\jt.jar (jt下有很多的包喔,包下还有包喔)
扩展类jvm指定到 jre\lib\ext (ext下也有很多个jar包,每个jar包下可能都有一些包层次结构)
用户类jvm根据classpath来指定某个包(包下还可能有包喔)
指定的这么笼统,jvm当然不可能找到了,就好比,”张三在 中国,河南省,洛阳市,马家庄 17 队“; 如果仅仅告诉你张三在中国,河南省,让你去找,够费劲的吧。,java也一个样,为了提高效率,java要求必须提供类的”精确“路径,由是,引入了import这个关键字,它就是类具体地址的导航(精确到类的直属包),
下面分”编译期“ 和 ”运行期“分别来谈谈路径的问题:
二, 深入编译期的package运作机制
【以下部分引用java深度历险】
为便于说明,先制作
相关文档:
方法一:
SimpleDateFormat formatter =
new
SimpleDateFormat(
"yyyyMMdd"
);
Date currentTime =
new
java.util.Date();
//
得到当前系统时间
long
now = curr ......
import java.io.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.Graphics;
import java.awt.color.ColorSpace;
import javax.imageio.ImageIO;
public class ChangeImageSize
{
/** *//**
* 缩放图像
* @param srcImage ......
JAVA正则表达式--Pattern和Matcher
作者:陈广佳 文章来源:www.fooldock.com
发布日期:2004年11月19日 浏览次数:2585次
现在JDK1.4里终于有了自己的正则表达式API包,JAVA程序员可以免去找第三方提供的正则表达式库的周折了,我们现在就马上来了解一下这个SUN提供的迟 ......
private void postMethod(String url) throws IOException
{
url = "http://www.newsmth.net/bbslogin2.php";
PostMethod postMethod = new PostMethod(url);
// 填入各个表单域的值
NameValuePair[] data = { new NameValuePair("id ......
1 JAVA的反射,其实就是通过一个实例化的对象反过来去找到一个类的完整信息,比如对于如下的形式:
X x=new X();
x.getClass().getName();
这里就会输出这个类所在的完整信息,即"包名.类名";
最常用的三种实例化CLASS类对象
Class<?> c1 = null ; // 指定泛型
Class<?& ......