刚刚开始学习java,这是我遇见的第一个不懂的问题,把自己的学习结果写下来,不足之处还望指点。

package:

1、顾名思义,package就是包的意思,能够对项目中类进行更好的管理。

2、我们经常看见它声明在源文件的首行

 

java 中package语句 java中的package是什么意思_sql

3、用package可以声明类或接口所属的包,这些com.atguigu.exer就是包,下面有很多.java源文件

java 中package语句 java中的package是什么意思_java 中package语句_02

4、同一个包下面,不能命名同名的接口和类,但是不同的包下面可以

5、com.atguigu.exer4就放在com/atguigu/exer4目录下,可以一层一层的找到。

java 中package语句 java中的package是什么意思_java 中package语句_03

import

1、import语句时一种引用包中各个类的方便用法,我们知道,一个类可以使用所属包中的所有类。但是如果想使用其他包中的公共类就需要加一些限定名。

例如:java.time.LocalDate today=java.time.Local.now();如果每次使用都这样限定很繁琐,所以引入了import用法。

2、import语句声明在源文件的顶部(但是位于package语句的后面。)

java 中package语句 java中的package是什么意思_源文件_04

3、有时需要导入很多个结构,那就顺次写下来就可以。

比如:

import java.util.Arrays;
import java.time.LocalDate;

4、有的时候想导入一个包中所有的类或者接口,就直接import java.util.*

5、但是,用“*”号的方法只能导入一个包,而不能用 import java.*或者 import java.*.*  的方式,导入java下的所有包

6、在发生命名冲突的时候,比如不同的包下有相同的类,而同时在程序中导入这两个包,就会有冲突。

比如,下面这两个包中都有Date类,那再使用 Date today;的时候就会有编译错误。

这时可以采取第二种方法,如果两个Date都想用,则采用第三种方法。

一、
import java.util.*;
import java.sql.*;
————————————————————————————————————————————————————————————————————————————————————
二、
import java.util.*;
import java.sql.*;
import java.util.Date;
————————————————————————————————————————————————————————————————————————————————————
三、
var deadline=new java.util.Date();
var today=new java.sql.Date(...);

7、如果是使用java.lang包下定义的类和接口,可以省略import结构。(包括基本Object类、Class类、String类、基本类型的包装类、基本的数学类等等最基本的类。)

8、import语句允许导入静态方法和静态字段。

比如在源文件顶部添加一条指令:import static java.lang.System.*;

那输出的时候就不用加类名前缀,直接out.println("           ");就可以