栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

“公共类型必须在其自己的文件中定义” Eclipse中的错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

“公共类型必须在其自己的文件中定义” Eclipse中的错误

如果

.java
文件包含顶级(非嵌套)
public
类,则其名称与该公共类相同。因此,如果您有类似的课程,
public classA{...}
则需要将其放置在
A.java
文件中。因此, 我们在一个
.java
文件中不能有两个公共类

如果允许有两个公共类,则可以说,除了公共

A
类文件之外,还将包含
public class B{}
它,这也将要求
A.java
文件中的文件
被命名为,
B.java
但是文件不能具有两个(或多个)名称(至少在所有系统上)可以运行哪个Java)。

因此,假设您的代码位于

StaticDemoShow.java
文件中,则有两个选择:

  1. 如果要在同一文件中包含其他类,请将它们设为非公开(缺少可见性修饰符将表示 默认/程序包私有的 可见性)
        class StaticDemo { // It can no longer public        static int a = 3;        static int b = 4;        static { System.out.println("Voila! Static block put into action");        }        static void show() { System.out.println("a= " + a); System.out.println("b= " + b);        }    }    public class StaticDemoShow { // only one top level public class in same .java file        public static void main() { StaticDemo.show();        }    }
  1. 将所有公共类移到它们自己的

    .java
    文件中。因此,在您的情况下,您需要将其分为两个文件:

    • StaticDemo.java

          public class StaticDemo { // Note: same name as name of filestatic int a = 3;static int b = 4;static {    System.out.println("Voila! Static block put into action");}static void show() {    System.out.println("a= " + a);    System.out.println("b= " + b);}

      }

    • StaticDemoShow.java

          public class StaticDemoShow { public static void main() {    StaticDemo.show();}

      }



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410221.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号