当前位置: 代码迷 >> Eclipse >> java class.forname路径有关问题
  详细解决方案

java class.forname路径有关问题

热度:48   发布时间:2016-04-23 00:07:22.0
java class.forname路径问题
interface Common
{
float Get_The_time(float A,float B,float C);
}

class Car implements Common 
{
public float Get_The_time(float A,float B,float C)
{
   float speed=(A*B)/C;
   return 1000/speed;
}
}
class Plane implements Common
{
public float Get_The_time(float A,float B,float C)
{
    return 1000/(A+B+C);

}
}
public class Compute_Time {
public static void main(String[] args) throws ClassNotFoundExceptionInstantiationExceptionIllegalAccessExceptionIllegalArgumentExceptionInvocationTargetException 
{
System.out.println("Please input the parameter:");
@SuppressWarnings("resource")
Scanner temp=new Scanner(System.in);
String name=temp.next();
float A=temp.nextFloat();
float B=temp.nextFloat();
float C=temp.nextFloat();

Class<?> d=Class.forName("Car");
Object e=d.newInstance();
    Method[] m=d.getMethods();
    float time=(float) m[0].invoke(e,A,B,C);
    System.out.println(time);
}
}

执行时抛出   Car ClassNotFoundException,的异常
------解决思路----------------------
你的类有package路径吗,将package路径都加上,再试试看,应该不会有问题的

public class demo_5 {

public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
Class glass = Class.forName("com.zhangqi.you.test.FilterByName");
Object obj = glass.newInstance();
System.out.println(obj);
}
}

class FilterByName implements FilenameFilter {
    
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".pdf");
}
}

输出 
com.zhangqi.you.test.FilterByName@24ee5d13

------解决思路----------------------
package路径的问题吧,代码我在jdk1.6 下 float time=(Float) m[0].invoke(e,A,B,C); 修改后是可以运行的
jdk 1.8 我也是测试了。程序没有问题
  相关解决方案