Java中的接口定义、实现与应用

本文通过一个武侠风格的例子,介绍了Java接口的基本概念、定义与实现方式,并展示了如何在具体类中实现接口方法。

       通过简单的学习,我觉得可以这么理解:接口实际上是一个类的框架,而类则是实例的模子。接口中定义的全都是最基本的框架,而且所定义的方法全都是抽象的、未实现的。简单写一段代码:

packagepkgInterface;

 

interfaceMenPai

{

    String zu_zhi = "五岳剑派";

 

    public void ZhangMen();

    public void JianFa();

}

 

class clsHuaShanPai implements MenPai

{

    public void ZhangMen()

    {

        System.out.println("岳不群");

    }

 

    public void JianFa()

    {

        System.out.println("华山剑法");

    }

}

 

class clsHengShanPaiimplements MenPai

{

    public void ZhangMen()

    {

        System.out.println("莫大");

    }

 

    public void JianFa()

    {

        System.out.println("衡山剑法");

    }

}

 

public class clsInterface {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        clsHuaShanPai linghuchong = new clsHuaShanPai();

        clsHengShanPai liuzhengfeng = new clsHengShanPai();

 

        linghuchong.ZhangMen();

        linghuchong.JianFa();

 

        liuzhengfeng.ZhangMen();

        liuzhengfeng.JianFa();

    }

 

}

       代码的编译运行结果:

岳不群

华山剑法

莫大

衡山剑法

    由此看,接口的使用也很简单。代码中数据描述层次合理性暂且不考虑,大致结论:

    1,接口中的方法只有public修饰和缺省两种情况,前者对全局可见,而后者包内可见;

    2,非抽象类中必须将接口中的全部方法实现(抽象类最终要在子类中实现);

    在可实例化上,接口与抽象类的功能类似。一段相应的示例代码如下:

packagepkgInterface;

 

interfaceMenPai

{

    String zu_zhi = "五岳剑派";

 

    public void ZhangMen();

    public void JianFa();

}

 

class clsHuaShanPai implements MenPai

{

    public void ZhangMen()

    {

        System.out.println("岳不群");

    }

 

    public void JianFa()

    {

        System.out.println("华山剑法");

    }

}

 

class clsHengShanPai implements MenPai

{

    public void ZhangMen()

    {

        System.out.println("莫大");

    }

 

    public void JianFa()

    {

        System.out.println("衡山剑法");

    }

}

 

public class clsInterface {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        MenPai linghuchong = new clsHuaShanPai();

        MenPai liuzhengfeng = new clsHengShanPai();

 

        ((clsHuaShanPai)linghuchong).ZhangMen();

        ((clsHuaShanPai)linghuchong).JianFa();

 

        ((clsHengShanPai)liuzhengfeng).ZhangMen();

        ((clsHengShanPai)liuzhengfeng).JianFa();

    }

 

}

       代码的编译运行结果如下:

岳不群

华山剑法

莫大

衡山剑法

    以上大致是接口的定义、实现以及简单的使用,算是最基本的。当然,接口中还有一个类对多接口的继承等更加复杂的功能,这里暂且不做总结。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值