包的定义
java中定义包的关键字是package,包就像一个目录但是里面的文件不能有相同的名字,也就是在同一个包下不能有相同名字的类。
例子:
package test; //包
public class iTextUtils {
public static void main(String[] args){
}
}
包的导入
java中导入包的关键字import。
导入包的作用:可以使用包里面的类
- 明确导入:导入指定包中的某个类
- 通配符导入:导入包使用包下面的全部类
import java.util.*; //通配符导入
import java.util.Map; //明确导入
public class iTextUtils {
public static void main(String[] args){
}
}
静态导入
静态导入是import的增强,可以避免我们在导入包之后调用用类名点属性/方法来使用。
用静态方法导入最后必须是通配符或者类中的方法不能直接是类。
语法:
import static java.lang.Integer.*;
记住是static一定是在import后面
静态导入前
import java.lang.Integer;
public class iTextUtils {
public static void main(String[] args){
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.valueOf(21));
}
}
静态导入后
import static java.lang.Integer.*;
public class iTextUtils {
public static void main(String[] args){
System.out.println(MAX_VALUE);
System.out.println(valueOf(21));
}
}
注意:静态导入用多了会导致代码可读性很差
系统常用的包
包名 | 说明 |
---|---|
java.lang.reflect | 反射开发包,直接与框架开发有关系 |
java.lang | 像Object、String、 Integer、 Number 都是这个包中定义的,JDK1.1开始自动导入 |
java.util | Java 的工具包 |
java.util.regex | 正则表达式的开发包 |
java.text | 国际化程序支持包 |
java.io | 数据流的开发包(Input、 Output) |
java.sql | 数据库编程包 |
java.awt、javax.swing | 图形界面开发包JDK1.0的时候,只推出了awt的图形界面开发包,awt开发包由于当时开发仓促,调用了大量的windows的系统函数。于是乎JDK1.2(Java2)时候,推出了轻量级的组件开发包 – javax.swing组件开发包 |
访问控制权限
默认的访问修饰符是default
直接一张表送给你们,通俗易懂
范围 | private | default | protected | public |
---|---|---|---|---|
同一类 | ✓ | ✓ | ✓ | ✓ |
同一包中的类 | ✓ | ✓ | ✓ | |
子类 | ✓ | ✓ | ||
其他包中的类 | ✓ |