Java的package和import
2015-08-19 00:51
375 查看
package
package pkg1[.pkg2[,pkg3…]];包及子包的定义,实际上是为了解决名字空间、名字冲突的问题
与类的继承没有关系。事实上,一个子类与其父类可以位于不同的包中。
包有两方面的含义
一是名字空间,存储路径(文件夹);
二是可访问性(同一个包中的各个类,默认情况下可相互访问)一个类若没有显示的注明权限修饰词,则默认为包访问权限。
package语句
Java文件至多只能写一个package语句包层次的根目录是有环境变量CLASSPATH来确定的
在简单情况下,没有package语句,此时称为无名包(unnamed package)
在Eclipse中,也叫(default package), 即当前文件位于CLASSPATH所指向的根目录。
Java的JDK提供了很多包
java.applet, java.awt, java.awt.image, java.awt.peer, java.io, java.lang, java.net, java.util, javax.swing 等。
import语句
为了能使用Java中已提供的类,需要使用import语句来导入所需要的类。
import格式为:
import package1[.package2...].(classname|*);例如
import java.util.Date;
这样在程序中
java.util.Date;可以简写成
Date,方便书写
import java.awt.*;
import java.awt.event.*;
【注意】使用
(*)只能表示本层次的所有类,不包括子层次下的类。
Java编译器自动导入包
java.lang.*
编译和运行包中的类
使用javac可以将.class文件放入相应的目录,只需要使用一个命令选项
-d来指明包的根目录即可。
javac -d d:\MyDesktop d:\Mydesktop\tempJava\HelloWrold.java
javac -d . d:\Mydesktop\tempJava\HelloWrold.java, 其中”.”表示当前目录
运行改程序,需要指明含有main的类名:
java tempJava.HelloWrold
CLASSPATH
在编译和运行程序中,经常要用到多个包,怎么指明这些包的根目录呢?简单的说,包层次的根目录是有环境变量CLASSPATH来确定的。三种方法实现一是在
java及
javac命令行中,用
-classpath(or -cp)选项来指明, 如:
-
java -classpath d:\MyDesktop\tempJava;c:\java\classes;.
二是设定classpath环境变量,用命令设定环境变量,如:
set classpath = d:\MyDesktop\tempJava;c:\java\classes;.
三是在windows中设置系统的环境变量
相关文章推荐
- JMX监控Zookeeper状态Java API
- Java对日期Date类进行加减运算、年份加减月份加减、时间差等等
- java之 ------ 泛型【从基础到加强】
- 用Eclipse连接MySQL数据库的步骤
- java修改集合抛出ConcurrentModificationException异常
- java ant详解
- 解决 java.lang.NoSuchMethodError: antlr.collections.
- Java反射输出类的全部信息
- 使用Hibernate-tools中的hbm2java和hbm2ddl根据hbm文件自动生成pojo和数据库脚本
- Java前述
- java基础知识梳理
- JAVA_SE基础——24.面向对象的内存分析
- java(8-18)
- Java---Java连接MySql数据库
- HIVE---HIve的JavaAPI操作
- Java---IndexOf、LastIndexOf、Substring
- Java多线程(三)锁对象和线程池
- java 子类重写父类的方法应注意的问题
- JAVA为什么子类继承父类方法之后,不能抛出比父类更多的异常?
- java泛型(三)、通配符的使用