Package语句

 

在开发中,我们存在几百上千个Java文件,如果所有的Java文件都在一个目录中,管理起来也很痛苦.

 此时,我们可以使用生活中的解决方案,不过呢,此时在Java中,我们把这个特殊文件夹称之为包(package).

 作用:   关键字:package  ,专门用来给当前Java文件设置包名.

 

语法格式:   package  包名.子包名.子子包名.子子子包名

编译命令为:   javac -d . Hello.java

运行命令为  :java 包名.类名

 

Package最佳的实践:  格式为:   package  域名倒写.模块名.组件名;

全部小写.

公司域名倒写.

 

 

 

import语句

 

我们演示,咱们之前学习过的数组的工具类:Arrays类,该类在java.util包中.

  Arrays类的全限定名:java.util.Arrays .

 

也就是我们在没使用import语句时:  java.util.Arrays.sort()这样用全限定名来引用工具方法.

解决方案: 使用import语句,直接把某个包下的类导入到当前类中.

                    语法格式:  import   需要导入类的全限定名;

                此后,在本Java文件中,只需要使用类的简单名称即可

 

第一种:

代码演示:

importjava.util.Arrays;
public classAmeir_yang7
{
publicstatic void main(String[] args)
{
int[]arr = new int[]{1,6,3,4,8,61,2};
Arrays.sort(arr);
Stringret = Arrays.toString(arr);
System.out.println(ret);
}
}

 

 

第二种:

importjava.util.Arrays;

import static java.util.Arrays.sort; //用static修饰,然后写上全限定名,除toString之外的方法都可以直接使用方法名.,因为Arrays和Object中都有toString方法,不写路径的话会发生混乱,所以 要写文件路径 ,如: Import java.util.Arrays;  Arrays.toString();

 

importjava.util.Arrays;
import staticjava.util.Arrays.sort;
public classAmeir_yang7
{
publicstatic void main(String[] args)
{
int[]arr = new int[]{1,6,3,4,8,61,2};
sort(arr);
Stringret = Arrays.toString(arr);
System.out.println(ret);
}
}

 

 

通配符(*)

如果我们还需要继续引入java.util包中其他的类,我们还得提供N个import语句,要写很多次,不爽.

解决方案:使用通配符(*).

import    类的全限定名;    只能导入某一个类.

import    包名.子包名.*;   表示会引入该包下的所有的在当前文件中使用到的类.

import  java.util.*; 此时的*表示类名.

   在Eclipse工具中,即使我们使用了通配符*,在格式化代码的时候,也会转换为N条import语句.

    注意: 编译器会默认找java.lang包下的类. 但是却不会去找java.lang的子包下的类.

               比如:java.lang.reflect.Method类.

               此时我们也得使用importjava.lang.reflect.Method.