Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将对象引用传递给空JAVA后使用接口_Java_Interface - Fatal编程技术网

将对象引用传递给空JAVA后使用接口

将对象引用传递给空JAVA后使用接口,java,interface,Java,Interface,这样做时,如何在object RC中的接口RemoteControl中使用方法(编译器拒绝,因为“object”未实现RemoteControl) import java.util.Random; 公共类DVD播放器实现远程控制{ 字符串类型; int电流体积; @凌驾 公共int volumeUp(){ 电流体积+=2; 回流量; } 公共静态void main(字符串参数[]){ 随机r=新随机(); 对象RC=null; if(r.nextFloat()

这样做时,如何在object RC中的接口RemoteControl中使用方法(编译器拒绝,因为“object”未实现RemoteControl)

import java.util.Random;
公共类DVD播放器实现远程控制{
字符串类型;
int电流体积;
@凌驾
公共int volumeUp(){
电流体积+=2;
回流量;
}
公共静态void main(字符串参数[]){
随机r=新随机();
对象RC=null;
if(r.nextFloat()<0.5){
//使此远程控制对象引用到TV对象
RC=新电视();
}否则{
//到DVD播放机对象
RC=新的DVD播放器();
}
RC.volumeUp();
}
}

您为实例
RC
指定了类型
对象
,该对象没有方法
volumeUp

您可能想做的是为遥控器提供
RC
类型
RemoteControl

RemoteControl RC=null;
import java.util.Random;

public class DVDPlayer implements RemoteControl {

    String type;
    int currentVolume;

    @Override
    public int volumeUp() {
        currentVolume += 2;
        return currentVolume;
    }

    public static void main(String Args[]) {
        Random r = new Random();
        Object RC = null;
        if (r.nextFloat() < 0.5) {
            // make this remoteControl object reference to TV object
            RC = new TV();
        } else {
            // to DVDPlayer object
            RC = new DVDPlayer();
        }
        RC.volumeUp();

    }

}