java– 两种不同的参数类型(将Object强制转换为Type)

java– 两种不同的参数类型(将Object强制转换为Type),第1张

概述我想调用一个方法,但参数可以是Button或ImageButton.我用不同的参数类型作为对象调用该方法两次.在我的方法attributesOfButton中,我想分配相应的按钮类型,如下面的代码所示.privatevoidmemCheck(){ImageButtonimageButtonCam;ButtonbuttonCamCo;attribute

我想调用一个方法,但参数可以是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)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存