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 ......
考验你的java基础测试题:
这是我设计的几道面试题,要求是题目尽量少,可以在5分钟内完成,但能基本反映出面试者的知识层次.所以我设计了六道题.
如果你能独立完成(不用看资料,不借助调试)回答在60分以上,找个6000元以上的工作由我来给你介绍
1.简述逻辑操作(&,|,^)与条件操作(& ......
在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一下.突然之间很想把自己的IP地址给获取了,虽然用系统自带命令可以得到,但自己想写一个程序获取一下,到网上搜索了一下java获取本机IP地址的方法,结果居然发现没有一个是可以用的,气的我老人家吐血,
这些人闭着眼睛写程序,写完了就往网� ......
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.JPEGCodec;
import com ......
1 JAVA的反射,其实就是通过一个实例化的对象反过来去找到一个类的完整信息,比如对于如下的形式:
X x=new X();
x.getClass().getName();
这里就会输出这个类所在的完整信息,即"包名.类名";
最常用的三种实例化CLASS类对象
Class> c1 = null ; // 指定泛型
Class& ......