java 中的包是为了防止类名的重复 在大型工程中 多个程序员可能 会写出相同名字的类 从而集合到 程序中 导致的程序不能正常运行 java中的包是给类提供一个限定名
/*
我们自己定义一个包的时候一定要在源文件定义一个和包名相同的目录 这样 java编译器才能找到包中的类 不过要用 java 包名.类名 来执行类
当然在命令提示符下还可以用 /反斜杠来执行包中的类 包名在文件系统下对应了文件名 。。文件夹下面包含了包中的类名
还可以创建子包 例如 package cn.MyBole ;
不加package的用缺省包或者无名包 包名对应着文件目录
javac -d ..... 可以根据源文件包名生成对应的文件结构 不用我们自己创建包目录
在当前源文件目录下自动创建包目录 javac -d . NewPackage.java 编译源文件 并且自动在当前目录生成包目录
set classpath =%classpath% ; d:\cn.mybole //表示在原来的环境变量的基础上加上 后面的路径 %classpath% 表示引用先前的环境变量
java 类 执行的时候如果有包名 那么 我们就将classpath设置为 最上层包的当前目录 因为包名对应的就是一种文件目录结构
如果同一个包中 那么不用加类名
否则 要引入其他包的某一个类
import java.io.File //引入file类
import java.io.* //引入java.io包中的所有类 那么我们实例化一个类的时候记不用加包名了
同一个包中的类不需要 import语句 可以相互引用
java.lang 包是自动导入的 System类在这个包中
import java.io.* 手持设备 会导致内存耗费 网络加载类时间延长 我们需要单个类 一般单独引用
javac -d . *.java //编译当前目录下所有后缀名为java的文件 这洋就不用考虑那个先编译 同一包中类可以直接引用 即使不在同一字节码文件中
*/
package cn.MyBole; //java中的 package必须在 第一行 前面除了注释和空白 之外不能有其他语句 java cn.MyBole.NewPackage
public class NewPackage
{
public static void main(String []args) //参数一定不能忽略要不然 就找不到main方法
{
System.out.println("this is my first java programming with package !");
}
}