包与import语句

1.没有public的类只能在该包的内部使用,不能在包外使用。

2.包的名字就是其所在目录的名字,包名字里面的“ . ”表示的是文件夹的层次,“.”后面的名字表示的是前面包下的另一个包。

3.Java语言不允许用户使用java作为包名。

4.import是用来引入不在一个包里的类。其用法为:“import 包名 . 类名;”。

5.“import 包名 . ;”表示引入该包中的所有东西,但一般不建议这样做,因为可能会有重复的命名,易发生冲突。

6.若没有用import引入包中的类,也可以直接带着包名使用该类。例如把一个名为hello的包里的一个HelloWord类引入其他包中:“hello.HelloWord? Hi = new hello.HelloWord()

通过关键字package声明包语句

package语句一般格式:package 包名;

有一个类包名,那么就不能在任意位置存放它,否则虚拟机将无法加载

程序如果使用了包语句,例如:package tom.jiafei;
那么存储文件的目录结构中必须包含如下的结构
…\tom\jiafei
如:c:\1000\tom\jiafei
并且要将源文件得到的类的字节码文件保存在目录c:\1000\tom\jiafei中(源文件可以任意存放)

运行时必须到tom\jiafei的上一层(即Tom的父目录)目录中去运行主类
假设tom\jiafei的上一层目录是1000,那么,必须如下格式来运行
c:\1000\tom\jiafei.主类名

示例:

package com.blue;
public class Demo19{
public static void main(String[] args){
    System.out.println("我的包名是com.blue");
}}

import语句
在一个Java源程序中,可以有多个import语句,它们必须写在package语句(假如有package语句)和源文件中类的定义之间,Java提供了大约130多个包,比如:
java.lang 包含所有基本语言类
java.swing 包含抽象窗口工具集中的图形、文本、窗口
java.io 包含所有输入输出类
java.util 包含实用类
java.sql 包含操作数据库的类
java.nex 实现网络功能的类
java.applet 实现java.applet的类

使用非类库中的包的名字,也要使用import语句

避免类名混淆:
1.区分无包名和有包名的类

如果一个源文件使用了一个无包名中的A类,同时又用import语句引入了某个有包名的同名的类,如:tom.jiafei中的A类,就可能引起类名的混淆

2.区分有包名的类

如果一个源文件引入了两个包中同名的类,那么在使用该类是,不允许省略包名

package com.blue;
import com.blue.person.Tom;
public class Demo19{
public static void main(String[] args){
    Tom tom = new Tom();
    com.blue.pic.Tom tom2 = new com.blue.pic.Tom();
}}