使用Windows等设备名称作为Java类名称

前端之家收集整理的这篇文章主要介绍了使用Windows等设备名称作为Java类名称前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我指的是我之前的问题,但这次我使用 java编译器,编译器编译输出 – 它给出了一个奇怪的输出.而这次我使用的是代替超级.

这是程序的代码.

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来运行程序,并且有一个Class not found异常.
A.java是文件名…我们做了一个小编辑,并创建了一个名为A.java的公共类,但结果是一样的.我们进一步发现问题在于编译器.

解决方法

在Windows上,似乎CON是保留名称,不能用于文件夹/目录或文件名.

下列

print "test" > Con.java

不管用.

因此编译器无法创建Con.class和崩溃.

MSDN开始:

Do not use the following reserved device names for the name of a file:

CON,PRN,AUX,NUL,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1,LPT2,LPT3,LPT4,LPT5,LPT6,LPT7,LPT8,and LPT9. Also avoid these names followed immediately by an extension; for example,NUL.txt is not recommended

猜你在找的Windows相关文章