一。包
1.什么是包
包 (package) 是组织类的一种方式,使用包的主要目的是保证类的唯一性。
2.导入包中的类
Java中已经提供了很多现成的类供我们使用,比如我们可以使用 java.util.Date 这种方式引入 java.util 这个包中的 Date 类。代码如下:
public class Test {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
// 得到一个毫秒级别的时间戳
System.out.println(date.getTime());
}
}
但是这种写法往往比较麻烦,所以我们可以使用import语句导入包。代码如下:
import java.util.Date;
public class Test {
public static void main(String[] args) {
Date date = new Date();
// 得到一个毫秒级别的时间戳
System.out.println(date.getTime());
}
}
如果需要使用 java.util 中的其他类, 可以使用 import java.util.*。这里的*可以理解为通配符,用它就可以使用包中的所有类。代码如下:
import java.util.*;
public class Test {
public static void main(String[] args) {
Date date = new Date();
// 得到一个毫秒级别的时间戳
System.out.println(date.getTime());
}
}
注意:Java是用到包中的哪个类就导入哪个类
但是 我们更建议显示的指定要导入的类名,否则还是容易出现冲突的情况。例如:
import java.util.*;
import java.sql.*;
public class Test {
public static void main(String[] args) {
// util 和 sql 中都存在一个 Date 这样的类, 此时就会出现歧义, 编译出错
Date date = new Date();
System.out.println(date.getTime());
}
}
// 编译出错
Error:(5, 9) java: 对Date的引用不明确
java.sql 中的类 java.sql.Date 和 java.util 中的类 java.util.Date 都匹配
这种情况下我们就需要完整的包名:
import java.util.*;
import java.sql.*;
public class Test {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
System.out.println(date.getTime());
}
}
注意事项:
import 和 C++ 的 #include 差别很大。C++ 必须通过 #include 来引入其他文件内容, 但是 Java 不需要,import 只是为了写代码的时候更方便。import 更类似于 C++ 的 namespace 和 using
import java.util.*导入包下的所有类,Java是用到哪个类再去拿哪个类,而不是像include一样导入所有的文件
3.静态导入
使用import static可以导入包中的静态方法和字段。代码如下:
import static java.lang.System.*;
public class Test {
public static void main(String[] args) {
out.println("hello");
}
}
使用这种方式可以更方便的写一些代码, 例如:
import static java.lang.Math.*;
public class Test {
public static void main(String[] args) {
double x = 30;
double y = 40;
// 静态导入的方式写起来更方便一些。
// double result = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
double result = sqrt(pow(x, 2) + pow(y, 2));
System.out.println(result);
}
}
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64924.shtml