关于java语言中的package和import机制:
1、为什么要使用package?
package是java中包机制。包机制的作用是为了方便程序的管理。
不同功能的类分别存放在不同的包下。(按照功能划分的,不同的
软件包具有不同的功能。)
2、package怎么用?
package是一一个关键字,后面加包名。例如:
package com . bjpowernode. javase . chapter17;
注意:package语句只允许出现在java源代码的第一行。
3、包名有没有命名规范? 有
一般都采用公司域名倒序的方式(因为公司域名具有全球唯一性。)
包名命名规范:
公司域名倒序+项目名+模块名+功能名
4、对于带有package的java程序怎么编译?怎么运行?
采用之前的编译和运行不行了。
类名不再是: HelloWorld 了。
类名是: com . bjpowernode . javase . chapter17. HelloWorld
编译:
javac -d . HelloWorld. java
解释一一下:
javac 负责编译的命令
-d 带包编译
代表编译之后生成的东西放到当前目录下(点代表当前目录)
HelloWorld. java被编译的java文件名。
运行: java com . bjpowernode . javase . chapter17. HelloWorld
package com.bjpowernode.javase.chapter17;
public class HelloWorld{
public static void main(String[] args) {
System.out. println("Hello World!");}
}
结果如下:
一个类想要用另外一个包中的类,该如何实现呢?(答案是用 import)
package com;
//将需要的类导入
import com.bjpowernode.javase.chapter17.HelloWorld;
public class Test02 {
public static void main(String[] args) {
/* Test02在com包下。
HelloWorld在com . bjpowernode . javase . chapter17下。不在同一个package下,包名可以省略吗?
不能省略。// 未导入包之前,错误:找不到符号
HelloWorld hw = new HelloWorld() ;
System.out.println (hw) ;
*/
/*
com .bjpowernode.javase.chapter17.HelloWorld hw = new com . bjpowernode . javase . chapter17
Sys tem . out. println (hw) ;
com . bjpowe rnode . javase . chapter17 . HelloWorld hw2 = new com . bjpowe rnode . javase . chapter17
System. out. println (hw2) ;
com . bjpowernode . javase . chapter17. HelloWorld hw3 = new com. bjpowernode. javase .chapter17
Sys tem . out. println (hw3) ; .
*/
HelloWorld hw1 = new HelloWorld();
System.out.println (hw1);
}
}
结果如下:
5、关于import的使用。
import什么时候使用?
A类中使用B类。
A和B类都在同一个包下。不需要import.
A和B类不在同一个包下。需要使用import.
import怎么用?
import语句只能出现在package语句之下,class声明语句之上。
import语句还可以采用*(通配符)的方式。
1.2、以正的4个访问控制权限:控制的范围是什么?
private表示私有的,只能在本类中访问
public表示公开的,在任何位置都可以访问
"默认"表示只能在本类,以及同包下访问。
protected表示只能在本类、同包、子类中访问。
访问控制修饰符 | 本类 | 同包 | 子类 | 任意位置 |
public | 可以 | 可以 | 可以 | 可以 |
protected | 可以 | 可以 | 可以 | 不行 |
默认 | 可以 | 可以 | 不行 | 不行 |
private | 可以 | 不行 | 不行 | 不行 |
这个不要死记硬背,自己下去之后编写代码自己测试。
范围从大到小排序: public > protected[>默认> private