为什么使用包 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。