让我感到困惑的一个例子:
Thing.java:
import java.util.Date;
class Thing {
static Date getDate() {return new Date();}
}
(相同的程序包)TestUsesThing.java:
// not importing Date here.
public class TestUsesThing {
public static void main(String[] args) {
System.out.println(Thing.getDate().getTime()); // okay
// Date date = new Date(); // naturally this wouldn't be okay
}
}
为什么没有必要导入Date以便能够在其中之一上调用getTime()?
只需要用Java导入,这样,Date
如果您键入,编译器就会知道a 是什么。
Date date = new Date();
导入与#include
在C / C ++中不同。classpath上的所有类型都 可用
,但是您import
不必为了编写完全限定的名称而使用它们。在这种情况下,这是不必要的。
问题内容: 在下面的代码中,为什么我需要导入但可以不导入就可以使用? 问题答案: 为了方便起见,Java编译器会为每个源文件自动导入两个完整的软件包: java.lang包和 当前包(当前文件的包)。 请参考 oracle.com了解更多信息(http://docs.oracle.com/javase/tutorial/java/package/usepkgs.html)
假设我有以下代码: 是否有可能在中调用来自的的编译器错误?我知道实际上你会把那个方法放在构造函数中,但这个问题是出于好奇。
问题内容: 当我不再需要在程序中使用那些ResultSet和Connection的实例时,为什么还要对它们都调用.close()方法呢? 不这样做有什么危险(如果有)? 问题答案: 这里有两个问题: 数据库连接 保持数据库连接打开会消耗数据库上的资源。它使用内存,并且数据库被配置为具有最大数量的连接,因此您增加了连接用尽的可能性。此外,会话的状态也得到维护,因此您可能会遇到意外锁定超出其预期范围的
我和同事一起创建了一个Angular 5应用程序。我为我的所有界面创建了一个文件夹,并按功能进行分组。然而,我没有在它们上包含任何导出符号,并且在使用它们时,我从不需要导入它们……它们只存在,不会产生任何编译错误。我喜欢这种方式,因为它使代码更干净,但我只是在利用一些bug吗?我的同事以“正确”的方式完成了它,并且需要在任何时候导入他想要使用的界面。有什么想法吗?您应该如何创建存在于单独文件中的接
问题内容: 我在理解类中方法的含义时遇到问题。在下面的代码中,如果我使用该方法,则不使用它也会得到相同的结果。 为什么(或何时)需要使用它? 问题答案: 只创建一个对象 方法由调用
但代码不起作用。我是否需要将launchActivity定义为一个规则,或者是否存在我需要在Gradle中导入的库? 这些是我已经有的进口品