【package】
<1>为了解决类的命名冲突问题,Java引入包(package)机制,提供类的多重类命名空间。
<2>package作为源文件的第一条语句(缺省时指定为无名包),包的命名规范为:公司域名倒置.自定义包
<3>Java编译器把包对应于文件系统的目录管理,在package语句中,用‘.‘来指明包(目录)的层次,例如:
package com.nato;
则该文件中所有的类位于\com\nato目录下
【注意】
<1>必须保证该类的class文件位于正确目录下
<2>必须保证class文件的最上层包(即com文件夹)的父目录位于classpath下(com文件夹父目录位于系统变量classpath下)
<3>执行一个类需要写全包名
注:任何类找不到的问题,就需要设置classpath。
【Exception】
<1>Please remove or make sure it appears in the correct subdirectory of the classpath.
[请确认类是否在classpath的正确子目录下]
在这里应该在当前project目录下,新建文件夹com,然后在新建文件夹nato,再把目标文件放到这个目录下,这样才能与包
对应。
<2>cannot resolve symbol
[不能解析该符号]
未引入包;当然也可以写成com.nato.A a = new com.nato.A();
【import】
<1>如果将一个类打包,则使用该类时,必须使用该类的全名,这样Java编译器才会找到该类。
<2>可以不使用import语句直接使用java.lang包中的类。
【J2SDK】
查看JDK的文件夹:jre--lib--rt.jar--右击以压缩文件形式打开(WinRAR)--各种包
【打包】
定位到正确目录--jar--显示提示指令--jar -cvf com.nato *.*
--cvf(-c建立新的存档,-v生成详细输出到标准输出上,-f指定存档文件名)
--com.nato是想要生成的jar文件名称
--*.*(把当前目录和其子目录一起打包)
可以把自己打包好的文件放到classpath中,这样就能直接加载里面的类了。