使用包名称在Java中创建对象

Nic*_*las 5 java object package

我正在查看某人的其他代码,并使用包名称对其进行编码.

String filename = "";

java.io.PrintWriter writer;

writer = new java.io.PrintWriter(new java.io.FileWriter(filename));
Run Code Online (Sandbox Code Playgroud)

如果语法没有用包名编码,语法是等价的吗?因为Java允许,所以有没有使用包名称编码?

mil*_*ose 8

如果出现以下情况,您必须使用包名(或"完全限定名" - 这是指包名和类名):

  1. 您需要在同一源文件中使用两个相同名称的类.
  2. 您没有import使用您所使用的课程,无论出于何种原因.(通常精神错乱.)
  3. import编写了类,但仍然使用包名,因为我不知道.


Nat*_*tix 7

使用完全限定名称在语义上与导入给定类的相同.

FQN的一种可能用法是,如果您需要使用两个具有相同名称但在不同包中的类.

import java.util.Date;

Date date = new Date();
java.sql.Date sqlDate = new java.sql.Date(date);
Run Code Online (Sandbox Code Playgroud)