为什么使用包 java.nio.file.Path 而不导入它?
why use the Package java.nio.file.Path without importing it?
我有两个 类 :
public class ScriptTests {
private final java.nio.file.Path test_file;
// ...
}
public class TestD {
public static void main(String args[]) {
java.nio.file.Path test_file= Paths.get(args[0]);
// ....
}
}
那些类是用来测试我写的代码的。我的问题是为什么他们总是使用这个包的全名?为什么不简单地在开头使用 import
,然后像在所有其他包中那样使用更简单的名称?
例如:import java.io.*;
我问是因为它看起来很奇怪。我觉得应该是有原因的!
当您需要使用不同包的两个 class 时,您可以使用包的 class 的整个声明,例如,如果您需要同时使用两个 class一种方法中的日期。如果您不需要使用两个或多个具有相同名称但具有不同包的 classes 是使用导入使代码更具可读性的好习惯。
例子
package com.Whosebug.question;
import java.sql.Timestamp;
public class Solution {
public static void main(String args[]) {
java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
java.util.Date utilDate = new java.util.Date();
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
System.out.println(sqlDate);
System.out.println(utilDate);
System.out.println(timestamp);
}
}
注意:导入一个特定包的所有 class 是一种不好的做法 ("import java.sql.*"),只需导入您需要的 classes。
我有两个 类 :
public class ScriptTests {
private final java.nio.file.Path test_file;
// ...
}
public class TestD {
public static void main(String args[]) {
java.nio.file.Path test_file= Paths.get(args[0]);
// ....
}
}
那些类是用来测试我写的代码的。我的问题是为什么他们总是使用这个包的全名?为什么不简单地在开头使用 import
,然后像在所有其他包中那样使用更简单的名称?
例如:import java.io.*;
我问是因为它看起来很奇怪。我觉得应该是有原因的!
当您需要使用不同包的两个 class 时,您可以使用包的 class 的整个声明,例如,如果您需要同时使用两个 class一种方法中的日期。如果您不需要使用两个或多个具有相同名称但具有不同包的 classes 是使用导入使代码更具可读性的好习惯。
例子
package com.Whosebug.question;
import java.sql.Timestamp;
public class Solution {
public static void main(String args[]) {
java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
java.util.Date utilDate = new java.util.Date();
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
System.out.println(sqlDate);
System.out.println(utilDate);
System.out.println(timestamp);
}
}
注意:导入一个特定包的所有 class 是一种不好的做法 ("import java.sql.*"),只需导入您需要的 classes。