当我们写的类越来越多的时候,看过去就很会眼花缭乱,而且找一个类的时候也不方便,并且类也不可以重名了。

就像把所有的书都放在一个柜子里,想要去找某本书的时候就会很难找,参考图书馆,就会把图书按照分类放在不同的柜子里,这样不仅更整齐,找书也更快。

Java也有类似的操作---包机制。

包机制(package、import)

包(package)相当于文件夹对于文件的作用。用于管理类、用于解决类的重名问题

package的使用有两个要点:

1、通常是类的第一句非注释性语句。

2、包名:域名倒着写即可,再加上模块名,便于内部管理类。

【示例】package的命名演示

com.oracle.test;

com.itbaizhan.gao.test;

com.itbaizhan.gao.view;

com.itbaizhan.view.model;

注意事项:

1、写项目时都要加包,不要使用默认包。

2、com.gao和com.gao.car,这两个包没有包含关系,是两个完全独立的包。只是逻辑上看起来后者是前者的一部分。

JDK中的主要包

【Java入门】十七 包机制_包名

【Java入门】十七 包机制_java_02

导入类import

         如果要使用其他包的类,需要使用import,从而在本类中直接通过类名来调用,否则就需要书写类的完整包名和类名。

注意要点

1、Java会默认导入java.lang包下所有的类,因此这些类我们可以直接使用。

2、如果导入两个同名的类,只能用包名+类名来显示调用相关类;

java.itil.Date date = new  java.util.Date();

 【示例】导入同名类的处理

import java.sql.Date;
import java.til.*://导入该包下所有的类。会降低编译速度,但不会降低运行速度。

public class Test{
public static void main(String[ ] args) {
//这里指的是java.sql.Date
Date now;
//java.util.Date因为和java.sql.Date类同名,需要完整路径
java.util.Date
now2 = new java.util.Date();
System.outprintln(now2);
//java.util包的非同名类不需要完整路径
Scanner input = new Scanner(System.in);
}

【Java入门】十七 包机制_静态属性_03

静态导入

静态导入(static import):其作用是用于导入指定类的静态属性和静态方法,这样我们可以直接使用静态属性和静态方法。

package cn.sxt;
//以下两种静态导入的方式二选即可
import static java.lang.Math.:;//导入Math类的所有静态属性
import static java.lang.Math.Pt;//导入Math类的PI属性

public class Test2{
public static void main(String [] args){
System.outprintln(P);
System.outprintIn(random);
}
}

【Java入门】十七 包机制_静态属性_04