有关接口的实现类与接口的一点分析

对于下述代码中一行的分析:

public class DemoMain {

    public static void main(String[] args) {
        MyInterface myInterface = new MyInterfaceImpl();
        myInterface.method();
    }
}

对于这一行:

MyInterface myInterface = new MyInterfaceImpl();

今天刚学到这里有一点小困惑,为什么左边是接口,右边是实现类呢,这里面代表什么意思呢?

查询了一些资料后有了点收获~
其实就是一个理,只要右边是左边的实现类,左边可以接收任何实现类的对象,
对于左边来说,方法属性是固定的,具体的实现,看你的实现类。
这样,当动态创建对象的时候,你可以控制实现类,而不必改变用接口写好的代码。

左边接口,右边接口的一个实现类(接口可以有很多实现类)。
具体原理挺难说清,打个比方。
定义一个连接数据库接口,接口中只有连接数据库方法。我们如果要连接sql server数据库,就写一个连接sql server的实现类;如果要连接oracle数据库,就写一个连接oracle的实现类。我们如果要连接sql server数据库,就可以:接口 名=new sql server实现类;换个数据库,就换个类名。
接口,使用方法是java中已经存在的接口的使用方法,我上面说的是自己定义接口的方式,使用时用接口。

接口不能实例化,用接口的实现类可以实例化,将实现类的对象在内存中的地址指向接口,这个接口就可以使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值