簡體   English   中英

Class.forName()和ClassNotFoundException

[英]Class.forName() and ClassNotFoundException

說我有以下兩節課:

public class MyClass {
    public String getDescription() {
        return "MyClass";
    }
}

public class MyClassLoader {
    public static void main (String[] argv) throws ClassNotFoundException {
        Class.forName("MyClass");
        System.out.println("MyClass class was successfully loaded");
    }
}

如果這兩個類都在默認程序包中,則它將正常運行,加載該類,並且世界變得美好。 (如果我要刪除類MyClass ,我將得到一個ClassNotFoundException ,如預期的那樣。

但是,如果它們都在一個包中(假設它是Eclipse中的一個包),並且具有

package myClassTestPackage;

在這兩個聲明中,當我嘗試運行它時都會收到ClassNotFoundException

是什么導致此問題,如何解決? 這是我能夠重現在更大程序中遇到的錯誤的最簡單方法。

這是因為Class.forName()方法將完全限定的類名作為參數。

Parameters:
    className - the fully qualified name of the desired class.

所以:

Class.forName("myClassTestPackage.MyClass");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM