public class PropertyBean {
class SimpleBean{
String date = null; /**
* @return the date
*/
public String getDate() {
return date;
} /**
* @param date the date to set
*/
public void setDate(String date) {
this.date = date;
}
}
public static void main(String[] args) {
PropertyBean pb = new PropertyBean();
SimpleBean sb = pb.new SimpleBean();
Statement stm = new Statement(sb, "setDate",new Object[]{"123"});
try {
stm.execute();
} catch (Exception e) {
e.printStackTrace();
}
Expression exp = new Expression(sb, "getDate", new Object[0]);
try {
exp.execute();
System.out.println(exp.getValue());
} catch (Exception e) {
e.printStackTrace();
}
}
}为什么报:
java.lang.NoSuchMethodException: PropertyBean$SimpleBean.setDate("123");
at java.beans.Statement.invoke(Unknown Source)
at java.beans.Statement.execute(Unknown Source)
at com.common.example.beans.PropertyBean.main(PropertyBean.java:31)
java.lang.NoSuchMethodException: <unbound>=PropertyBean$SimpleBean.getDate();
at java.beans.Statement.invoke(Unknown Source)
at java.beans.Statement.execute(Unknown Source)
at com.common.example.beans.PropertyBean.main(PropertyBean.java:38)
class SimpleBean{
String date = null; /**
* @return the date
*/
public String getDate() {
return date;
} /**
* @param date the date to set
*/
public void setDate(String date) {
this.date = date;
}
}
public static void main(String[] args) {
PropertyBean pb = new PropertyBean();
SimpleBean sb = pb.new SimpleBean();
Statement stm = new Statement(sb, "setDate",new Object[]{"123"});
try {
stm.execute();
} catch (Exception e) {
e.printStackTrace();
}
Expression exp = new Expression(sb, "getDate", new Object[0]);
try {
exp.execute();
System.out.println(exp.getValue());
} catch (Exception e) {
e.printStackTrace();
}
}
}为什么报:
java.lang.NoSuchMethodException: PropertyBean$SimpleBean.setDate("123");
at java.beans.Statement.invoke(Unknown Source)
at java.beans.Statement.execute(Unknown Source)
at com.common.example.beans.PropertyBean.main(PropertyBean.java:31)
java.lang.NoSuchMethodException: <unbound>=PropertyBean$SimpleBean.getDate();
at java.beans.Statement.invoke(Unknown Source)
at java.beans.Statement.execute(Unknown Source)
at com.common.example.beans.PropertyBean.main(PropertyBean.java:38)
是不是这个构造函数用错了?
是java.beans.Statement这个类,
为什么报:NoSuchMethodException?
为什么要Public呢?