gpt4 book ai didi

java - 实现接口(interface)时出现奇怪的异常

转载 作者:行者123 更新时间:2023-12-03 18:36:18 24 4
gpt4 key购买 nike

我有 Exception in thread "main" java.lang.NoClassDefFoundError: A (wrong name: a)而且我不知道这是由什么引起的

public class Test
{
public static void main(String[] args)
{
new B();
}
}

interface a { }

class A implements a { }

class B extends A { }
编辑:在线编译器 https://www.onlinegdb.com/online_java_compiler它编译

最佳答案

当 Java 编译你的源代码时,它会创建多个 .class文件。例如,它创建 Test.class对于 public class Test , a.class对于 interface a , 和 A.class对于 class A .这里的问题是某些操作系统中的文件名不区分大小写。这意味着操作系统看到 a.classA.class作为同一个文件,所以一个会覆盖另一个。
由于区分大小写,在线编译器很可能将这些文件名视为不同的。
这里的解决方案是使用不同的名称,以避免在操作系统级别出现这些名称冲突。
已建立的 Java 约定是以大写字母开头的所有类和接口(interface)名称。如果您遵循此约定,那么您将避免此问题。

关于java - 实现接口(interface)时出现奇怪的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63696421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com