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.