argにmainのクラス名を与えると、引数は "myPackage.Algo.PersonneA"です。私には例外があり、理由は分かりません。メインに引数を与える
スレッドの例外 "メイン" にjava.lang.ClassNotFoundException: myPackage.Algo.PersonneA
これは私のメインです:
public static void main(String[] args) { Algo rf = (Algo) Class.forName(args[0]).newInstance(); }
と、これはあります私がmainにinstanciateしたいクラス。
package myPackage; public class Algo { public static class PersonneA extends ClassA { public Algorithm create(int r) { return new AlgorithmDist(new DistributedDocument(), r); } } public static class PersonneB extends ClassA { public Algorithm create(int r) { return new AlgorithmSimul(new SimulationDocument(), r); } } }
ではないので、問題1を固定した後、あなたはまだ、
ClassCastException
を取得します。問題が構文エラーの場合、コンパイル時にエラーが発生します。彼はランタイムエラーを取得します。 – amitはい!しかし、これは私の問題を解決しません:D – Mehdi
申し訳ありません、それはあなたのパッケージとは何か関係があります。 Algoクラスはメインクラスの内部クラスですか、それとも自分のJavaファイル内のメインクラスですか?あなたのJavaファイルが以下で始まることを確認してください:package myPackage; (彼らがそのパッケージに入れられている場合) –