为什么可以用接口的对象调用方法


//接口是不能实例化的,不过可以声明一个接口的引用变量,让它指向一个类的实例,当然那个类要实现了那个接口的

package com.leyulv.interfacetest;

public interface IInterfaceA {
    String say();
}

------------------------------------------------------

package com.leyulv.interfacetest;

public class InterfaceImpl implements IInterfaceA {
    @Override
    public String say() {
        return "我是实现了接口的类的对象";
    }
}

---------------------------------------------------------

package com.leyulv.interfacetest;

public class TestInterface {
    public static void main(String[] args) {
    	//接口不能被实例化
    //  IInterfaceA iInterfaceA =new IInterfaceA();
      	//声明一个接口的引用变量
        IInterfaceA iInterfaceA;
        //声明一个实现了接口的类的对象
        InterfaceImpl anInterface = new InterfaceImpl();
        //接口的引用变量指向实现了接口的类的对象
        iInterfaceA=anInterface;                            
        System.out.println(iInterfaceA.say());
        System.out.println("==================");
        System.out.println(anInterface.say());
    }
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>