【问题标题】:Could not find class while executing program in eclipse [duplicate]在eclipse中执行程序时找不到类[重复]
【发布时间】:2015-04-17 18:29:56
【问题描述】:

下面是示例java代码

class Candy {
    static {
        print("Loading candy");
    }
}

class Gum {
    static { 
        print("Loading Gum"); 
    }
}

class Cookie {
    static { 
        print("Loading Cookie"); 
    }
}


public class SweetShop {
    public static void main(String[] args) {
        print("inside main");
        new Candy();
        print("after creating candy");
        try{
            Class.forName("Gum");   
        }
        catch(ClassNotFoundException e) {
            print("could not find gum class");
        }
        print("After Class.forName(\"Gum\")");
        new Cookie();
        print("After creating Cookie");
    }
}

当总是执行时,我会退出

主目录

加载糖果

制作糖果后

找不到口香糖类

Class.forName("Gum") 之后

加载 Cookie 请提供一些帮助。 创建 Cookie 后

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    如果你有包裹试试这个:

       Class.forName("package_name.Gum");
    

    【讨论】:

      【解决方案2】:

      我认为你的类是包私有的,因为你没有指定任何访问修饰符。

      试试:

      public class Gum {
         static { print("Loading Gum"); }
      }
      

      【讨论】:

      • 如果这是解决方案,那么这个问题的答案是否也行不通? stackoverflow.com/questions/4202252/how-does-class-forname-work
      • @Trobbins 如果它们在同一个包中,那么它将起作用,因此我要求包结构更加清晰。
      • 对,但是他的代码 sn-p 暗示代码在同一个文件中,这就是我问的原因。猜猜我只是把你和我弄得一团糟:)
      猜你喜欢
      • 2014-09-10
      • 2016-09-12
      • 2016-11-08
      • 2012-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-16
      相关资源
      最近更新 更多