Java by API/java.lang/ClassNotFoundException

Материал из Java эксперт
Перейти к: навигация, поиск

java.lang.ClassNotFoundException

   <source lang="java">
    

import static java.lang.System.out; import java.lang.reflect.InvocationTargetException; public class Main {

 public Main() {
 }
 public Main(Integer i) {
 }
 public Main(Object o) {
   out.format("Constructor passed Object%n");
 }
 public Main(String s) {
   out.format("Constructor passed String%n");
 }
 public static void main(String... args) {
   String argType = (args.length == 0 ? "" : args[0]);
   try {
     Class<?> c = Class.forName("Main");
     if ("".equals(argType)) {
       // IllegalArgumentException: wrong number of arguments
       Object o = c.getConstructor().newInstance("foo");
     } else if ("int".equals(argType)) {
       // NoSuchMethodException - looking for int, have Integer
       Object o = c.getConstructor(int.class);
     } else if ("Object".equals(argType)) {
       // newInstance() does not perform method resolution
       Object o = c.getConstructor(Object.class).newInstance("foo");
     } else {
       assert false;
     }
     // production code should handle these exceptions more gracefully
   } catch (ClassNotFoundException x) {
     x.printStackTrace();
   } catch (NoSuchMethodException x) {
     x.printStackTrace();
   } catch (InvocationTargetException x) {
     x.printStackTrace();
   } catch (InstantiationException x) {
     x.printStackTrace();
   } catch (IllegalAccessException x) {
     x.printStackTrace();
   }
 }

}



 </source>