我想调用一个方法,但参数可以是button或Imagebutton.我用不同的参数类型作为对象调用该方法两次.
在我的方法attributesOfbutton中,我想分配相应的按钮类型,如下面的代码所示.
private voID memCheck(){ Imagebutton imagebuttonCam; button buttonCamCo; attributesOfbutton(imagebuttonCam); attributesOfbutton(buttonCamCo);}private voID attributesOfbutton(Object button) { Object currentbutton; if (button instanceof Imagebutton) { currentbutton = (Imagebutton) button; } if (button instanceof button ) { currentbutton = (button) button; } // do something with button like: if (ProvIDer.getValue == 1) { currentbutton.setEnabled(true); }}
但它不起作用.如果我这样做:
currentbutton.setEnabled(true);
我明白了
Cannot resolve method setEnabled(boolean)
解决方法:
您的对象currentbutton仍然定义为Object,因此即使您知道它是子类,也不能使用除Object之外的其他任何方法.您需要使用适当的类定义对象:
private voID attributesOfbutton(Object button) { if (button instanceof Imagebutton) { Imagebutton currentbutton = (Imagebutton) button; // do stuff for Imagebutton } if (button instanceof button ) { button currentbutton = (button) button; // do stuff for button } }
总结 以上是内存溢出为你收集整理的java – 两种不同的参数类型(将Object强制转换为Type)全部内容,希望文章能够帮你解决java – 两种不同的参数类型(将Object强制转换为Type)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)