一、包的作用:
①用于区分重命名
②用于控制访问权限
③用于划分项目的结构层次,通常将功能相近的类划分到同一个包中
二、如何声明包
package : 用于确定当前类的位置
①写在 .java 源文件可执行代码的首行
②包的命名规范:所有字母都小写。 (通常以所在公司域名的倒置)
③每个 “.” 代表一层目录
如果声明了一个类的所属包,那么应该以该类的全称(带包名的名称)作为其名称。
例如,Person类全称应为com.atguigu.bean.Person
类的全称也称为类的全限定名称(全类名)。
package com.atguigu.bean;
public class Person {
}
三、导包
import : 用于确定需要引入类的位置
①写在 package 和 class 之间
②import 语句可以有多个,并排列出
③ import com.atguigu.bbb.* : “*” 代表导入 bbb 包下所有的类或接口。 不包括包
④若在一个类中使用了相同类名不同包名的两个类时
如: java.util.Date java.sql.Date
选择一个使用 import java.util.Date;
选择另一个使用全限定类名的方式: java.sql.Date date = new java.sql.Date(1234);
package com.atguigu.bean;
import java.util.Scanner;
public class TestPackage {
public static void main(String[] args) {
//若在一个类中使用了相同类名不同包名的两个类时
//择一个使用 import
Scanner s=new Scanner(System.in);
int num = s.nextInt();
//择另一个使用全限定类名的方式
com.atguigu.util.Scanner s2=new com.atguigu.util.Scanner();
}
}
静态导入也是JDK5.0引入的新特性
使用静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。
注意导入的是静态成员变量(类变量)和静态成员方法名(类方法)。
缺点:过度地使用静态导入会在一定程度上降低代码的可读性。
/* 四、静态导包
* 使用静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。
* 注意导入的是静态成员变量(类变量和静态成员方法名(类方法。
* 缺点:过度地使用静态导入会在一定程度上降低代码的可读性。
*/
//import static java.lang.System.out;
import static java.lang.System.*;
public class TestPackage2 {
public static void main(String[] args) {
// System.out.println("hello");
out.println("hello");
// System.out.println(System.currentTimeMillis());
System.out.println(currentTimeMillis());
}
}