包:
java中的包就相当于Windows文件夹。
包的作用:
1,解决类名重复产生冲突的问题。
2,便于软件版本的发布。
定义包的格式:
package包名;
包名的命名规范:包名全部小写。
包语句要注意的事项:
1,package语句必须位于java文件中第一个语句。
2,如果一个类加上了包语句,那么该类的完整类名就是:包名.类名
3,一个java文件只能有一个包语句。
问题:每次编译的时候都需要自己创建一个文件夹,把对应的class文件存储到文件夹中,比较麻烦
javac -d 指定类文件的存放路径 java源文件
代码示例:
package ace;
import aa.Demo01;
import aa.Demo02;
public class Demo03 {
public static void main(String[] args) {
Demo01 d = new Demo01();
d.print();
Demo02 c = new Demo02();
c.print();
}
}
Demo01的代码:
package aa;
public class Demo01 {
public void print() {
System.out.println("这是Demo01的文件");
}
}
Demo02的代码:
package aa;
public class Demo02 {
public void print() {
System.out.println("这是Demo02的文件");
}
}
运行结果:
问题:有了包之后类与类之间的访问每次都必须要写上包名,就很烦。
解决方案:sum提供导包语句让我们解决该问题。
导包语句的作用:简化 书写(误区:把一个类导入到内存)
导包语句的格式:
import 包名.类名;(导入某某包中某个类)
导包语句要注意的细节:
1,一个java文件中可以出现多句导包语句。
2,“*”是导包语句的通配符。可以匹配任何的类名。
3,import aa.*;是不会作用于aa包下面的子包的;
推荐使用:import 包名.类名;因为*号通配符会导致架构不清晰。
什么时候使用import语句:
1,相互访问的两个类不是同一个包下面,那么就需要到导包语句。
2,java.lang是默认导入的,不需要我们自己导入