使用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

回到顶部