关于接口变量的使用,我有一个概念性的问题。
让我们说我们有一个称为调制解调器的接口
interface Modem {
public boolean open();
public boolean close();
public int read ();
public int write(byte[] buffer);
}
我们还有一个名为OracleModem的类,
public class OracleModem implements Modem {
public boolean open() {
// implementation
}
public boolean close() {
// implementation
}
public int read() {
// implementation
}
public int write(byte[] buffer) {
// implementation
}
}
现在的问题是,使用下面的代码而不是下面的代码有什么好处?
Modem modem = new OracleModem();
modem.open();
modem.write(buffer);
modem.read();
modem.close();
和
OracleModem modem = new OracleModem();
modem.open();
modem.write(buffer);
modem.read();
modem.close();
我是一名初级开发人员,时常发生这种情况,以至于我看到对象引用已分配给接口值并如此使用。与实例化常规对象表示形式并正常实现相比,这样做有什么好处?