使用Windows设备名称(例如Con作为Java类名称)
我指的是我以前的问题,但是这次我使用了Java编译器,编译器对输出进行了编译-它给出了一个奇怪的输出。这次我用this
代替super
。
这是程序的代码。
class Con { int x = 10;
Con() {
this(2);
System.out.println("x :" + x);
}
Con(int i) {
x = i;
System.out.println("x :" + x);
}
}
class DemoCon {
public static void main(String args[]) {
Con c1 = new Con();
}
}
您认为这里的问题是什么?这是Java中的错误吗?
Java版本-1.6.0 JDK
我使用Eclipse运行该程序,但有一个“找不到类”异常。
A.java
是文件名…我们做了较小的编辑,并命名了一个公共类,A.java
但结果相同。我们进一步发现问题出在编译器上。
回答:
在Windows上,似乎CON是保留名称,不能用于文件夹/目录或 。
下列
print "test" > Con.java
不管用。
因此,编译器无法创建您的Con.class并崩溃。
从MSDN:
不要将以下保留的设备名称用作文件名:
CON,PRN,AUX,NUL,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1,LPT2,LPT3,LPT4,LPT5,LPT6,LPT7,LPT8和LPT9。也要避免在这些名称后面加上扩展名;例如,不建议使用NUL.txt
以上是 使用Windows设备名称(例如Con作为Java类名称) 的全部内容, 来源链接: utcz.com/qa/414521.html