问题
说我有一个像这样的代码:
import java.util.Date;
import my.own.Date;
class Test{
public static void main(String [] args){
// I want to choose my.own.Date here. How?
..
// I want to choose util.Date here. How ?
}
}
我应该是完全合格的班级名字吗?我能摆脱进口声明吗?在现实世界的编程中这种场景是常见的吗?
#1 热门回答(119 赞)
你可以省略import语句并使用整个路径引用它们。例如:
java.util.Date javaDate = new java.util.Date()
my.own.Date myDate = new my.own.Date();
但我会说,使用两个具有相同名称和类似功能的类通常不是最好的主意,除非你能清楚地知道它是哪个。
#2 热门回答(15 赞)
使用完全限定名称而不是导入类。
例如
//import java.util.Date; //delete this
//import my.own.Date;
class Test{
public static void main(String [] args){
// I want to choose my.own.Date here. How?
my.own.Date myDate = new my.own.Date();
// I want to choose util.Date here. How ?
java.util.Date javaDate = new java.util.Date();
}
}
#3 热门回答(8 赞)
是的,当你导入具有相同简单名称的类时,必须通过其完全限定的类名称来引用它们。我会留下import语句,因为它可以让其他开发人员了解文件在使用时的含义。
java.util.Data date1 = new java.util.Date();
my.own.Date date2 = new my.own.Date();