关于 java 语言中的 package 和 import 机制:
1、为什么要使用 package?
package 是java中包机制。包机制的作用是为了方便程序的管理。
不同功能的类分别存放在不同的包下。(按照功能划分的,不同的软件包具有不同的功能。)
2、package 怎么用?
package 是一个关键字,后面加包名。例如:
package com.bjpowernode.javase.chapter17;
注意:pacakge 语句只允许出现在java源代码的第一行。
3、包名有没有命名规范?有
一般都采用公司域名倒序的方式(因为公司域名具有全球唯一性。)
包名命名规范:
公司域名倒序 + 项目名 + 模块名 + 功能名
4、对于带有 package 的 java 程序怎么编译?怎么运行?
采用之前的编译和运行不行了。
类名不再是:HelloWorld了。
类名是:com.bjpowernode.javase.chapter17.HelloWorld
编译:
javac -d . HelloWorld.java
解释一下:
javac 负责编译的命令
-d 带包编译
. 代表编译之后生成的东西放到当前目录下(点代表当前目录)
HelloWorld.java 被编译的java文件名
表示将 java 文件带包编译到当前目录下
运行:
java com.bjpowernode.javase.chapter17.HelloWord
com.bjpowernode.javase.chapter17.HelloWord 表示类名(这个类名带包名)
5、关于 import 的使用:
import 什么时候使用?
A 类中使用 B 类。
A 和 B 类都在同一个包下。不需要 import。
A 和 B 类不在同一个包下。需要使用 import。
java.lang.*; 这个包下的类不需要使用 import 导入。
import 怎么用?
import 语句只能出现在 package 语句之下,class 声明语句之上。
import 还可以采用星号 * 号的方式。
package 和 import
1、package
第一:package 出现在 java 源文件第一行。
第二:带有包名怎么编译? java -d . xxx.java
第三:怎么运行? java 完整类名
补充:以后说类名的时候,如果带着包名描述,表示完整类名。
如果没有带包,描述的话,表示简类名。
java.util.Scanner 完整类名。
Scanner 简类名。
2、import
import什么时候不需要?
java.lang 不需要。
同包下不需要。
其它一律都需要。
怎么用?
import 完整类名;
import 包名.*;
import java.util.Scanner; // 完整类名。
import java.util.*; // 这个效率不低,因为编译器在编译的时候,会自动把 * 变成具体的类名。
* 只代表某些类的名字。