您的位置:首页 > 移动开发 > Objective-C

object is not an instance of declaring class&argument type mismatch

2014-09-21 12:02 1426 查看
报错:

java.lang.IllegalArgumentException:
object is not an instance of declaring class

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at DesignPattern.DemoObserver.ConcreteObservable.notifyObserver(ConcreteObservable.java:55)

at DesignPattern.DemoObserver.ConcreteObservable.notifyObservers(ConcreteObservable.java:36)

at DesignPattern.DemoObserver.Text.main(Text.java:19)

说明Class没有实例化;

解决办法:

由于没有实例化,可以有如下两种方法:

1、反射方法定义成为static的,故被反射类就不需要实例化;

2、method.invoke(_class.newInstance(), args);

报错:argument type mismatch

参数错误:

方法由public void update(Observer... objs) {}改为public
void update(Observer objs)即可。因为实际调入时传入的是单个对象 obj。


argument type mismatch

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: