温馨提示:本节课的语法内容会比较多奥,但不会很难,只需要小伙伴们在空闲时间多加练习就好啦!那么,就让我们开始吧!

包
包是什么?其实就是一个文件夹,包 (package) 是组织类的一种方式,使用包的主要目的是保证类的唯一性。
将类放到包中的方法
基本规则
1.在文件的最上方加上一个 package 语句指定该代码在哪个包中。
2.包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.bit.demo1 )。
3.包名要和代码路径相匹配. 例如创建 com.bit.demo1 的包, 那么会存在一个对应的路径 com/bit/demo1 来存储代码。
4.如果一个类没有 package 语句, 则该类被放到一个默认包中。
包是组织类的方式,一般是倒着写的小写字母,在一个src底下不可以有多个同名的java文件
导入包中的类
Java 中已经提供了很多现成的类供我们使用,例如:
public class Test {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
// 得到一个毫秒级别的时间戳
System.out.println(date.getTime());
}
}
可以使用 java.util.Date 这种方式引入 java.util 这个包中的 Date 类,但是这种写法比较麻烦一些, 我们可以使用 import 语句导入包。例如:
import java.util.Date;
public class Test {
public static void main(String[] args) {
Date date = new Date();
// 得到一个毫秒级别的时间戳
System.out.println(date.getTime());
}
}
如果需要使用 java.util 中的其他类, 可以使用 import java.util.*
例如:
import java.util.*;
public class Test {
public static void main(String[] args) {
Date date = new Date();
// 得到一个毫秒级别的时间戳
System.out.println(date.getTime());
}
}
但是我们更建议显式的指定要导入的类名. 否则还是容易出现冲突的情况。例如:
import java.util.*;
import java.sql.*;
public class Test {
public static void main(String[] args) {
// util 和 sql 中都存在一个 Date 这样的类, 此时就会出现歧义, 编译出错
Date date = new Date();
System.out.println(date.getTime());
}
}
// 编译出错
Error:(5, 9) java: 对Date的引用不明确
java.sql 中的类 java.sql.Date 和 java.util 中的类 java.util.Date 都匹配
在此时我们需要使用完整的类名:
mport java.util.*;
import java.sql.*;
public class Test {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
System.out.println(date.getTime());
}
}
包的访问权限控制
包的访问权限有private,public,protected和包访问四种权限
1.private是只能在当前类中访问
2.包访问(什么访问修饰限定符都不加的时候)只能在同一个包中访问
3.public是在哪都可以访问
4.对于类的调用者来说, protected 修饰的字段和方法是不能访问的,对于类的 子类 和 同一个包的其他类 来说, protected 修饰的字段和方法是可以访问的
常见的系统包
- java.lang:系统常用基础类(String、Object),此包从JDK1.1后自动导入。
- java.lang.reflect:java 反射编程包;
- java.net:进行网络编程开发包。
- java.sql:进行数据库开发的支持包。
- java.util:是java提供的工具程序包。(集合类等) 非常重要
- java.io:I/O编程开发包。