600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > java参数类型不同_java – 两种不同的参数类型(将Object强制转换为Type)

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

时间:2018-11-12 22:19:25

相关推荐

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

我想调用一个方法,但参数可以是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,android,button,imagebutton

来源: https://codeday.me/bug/0702/1359570.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。