黑马程序员技术交流社区
标题:
急求!! Exception in thread "main" java.lang.ClassNotFoundException:
[打印本页]
作者:
fly_saint
时间:
2015-1-24 01:00
标题:
急求!! Exception in thread "main" java.lang.ClassNotFoundException:
代码如下:
package com.itheima;
import java.beans.*;
import java.lang.reflect.*;
public class Test5 {
/**
* 5、 存在一个JavaBean,它包含以下几种可能的属性:
1:boolean/Boolean
2:int/Integer
3:String
4:double/Double
属性名未知,现在要给这些属性设置默认值,以下是要求的默认值:
String类型的默认值为字符串 www.itheima.com
int/Integer类型的默认值为100
boolean/Boolean类型的默认值为true
double/Double的默认值为0.01D.
只需要设置带有getXxx/isXxx/setXxx方法的属性,非JavaBean属性不设置,请用代码实现
* @param args
*/
public static void main(String[] args) throws Exception
{
Class clazz = Class.forName("cn.heima.test.testBean");
Object bean = clazz.newInstance();
BeanInfo beanInfo = Introspector.getBeanInfo(clazz);
// System.out.println(beanInfo);
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor pd : propertyDescriptors)
{ // System.out.println(pd); // 获取属性名
Object name = pd.getName(); // 获取属性类型
Object type = pd.getPropertyType(); // 获取get方法
Method getMethod = pd.getReadMethod(); // 获取set方法
Method setMethod = pd.getWriteMethod();
if (!"class".equals(name))
{
if (setMethod != null)
{
if (type == boolean.class || type == Boolean.class)
setMethod.invoke(bean, true);
if (type == String.class)
setMethod.invoke(bean, "www.itheima.com");
if (type == int.class || type == Integer.class)
setMethod.invoke(bean, 100);
if (type == double.class || type == Double.class)
setMethod.invoke(bean, 0.01D);
}
if (getMethod != null)
System.out.println(type + " " + name + "=" + getMethod.invoke(bean, null));
}
}
}
}
class testBean
{
private boolean b; private Integer i;
private String str; private Double d;
public Boolean getB() {return b;}
public void setB(Boolean b) {this.b = b; }
public Integer getI() { return i; }
public void setI(Integer i) { this.i = i; }
public String getStr() { return str; }
public void setStr(String str) { this.str = str; }
public Double getD() { return d; }
public void setD(Double d) { this.d = d; }
}
作者:
fly_saint
时间:
2015-1-24 01:02
代码本身,我没能找出什么问题,有怀疑是不是eclipse本身配置的问题,麻烦大家帮忙看看,先谢谢了!
作者:
fly_saint
时间:
2015-1-24 08:43
起床的同学,麻烦看看呀:Q
作者:
Gonnaloveu
时间:
2015-1-24 08:55
本帖最后由 Gonnaloveu 于 2015-1-24 08:57 编辑
API是这么说的
当应用程序试图使用以下方法通过字符串名加载类时,抛出该异常:
Class 类中的 forName 方法。
ClassLoader 类中的 findSystemClass 方法。
ClassLoader 类中的 loadClass 方法。
但是没有找到具有指定名称的类的定义。
也就是JavaBean不存在,你得创建一个啊...可能不是public 他找不到
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2