java学习干货之接口与实现

作者: 格式化齑默 | 来源:发表于2016-07-06 21:01 被阅读383次

接口泛指别人调用的方法或者是函数。我们是通过Interface来定义接口的,我们也可以将接口看做成一个抽象的类,只不过他没有构造方法,同时它里面只有静态的属性和抽象的方法。这样的话接口的实现就有几点注意的事项了:
1、接口的实现使用的是implements关键字来实现的。
2、接口的实现我们要实现接口里面的所有的抽象类当时如果实现接口的类是一个抽象的类的话就可以不实现接口里面的抽象方法。
3、因为接口没有构造方法所以接口不可以实例化。
众所周知java不像c++那样能有多继承,java要实现多继承的话就要通过接口来实现,接口是可以多继承的。接口其实就是一种约定,所以实现接口的类可以有很多。我们有一个例子来细说接口与实现:
我们定义一个书信的接口

public interface ILetter {
    /***
     * 书信的标题
     * @param str1 书信的标题
     */
    void title(String str1);
    /**
     * 书信的问候语
     * @param str2 书信的问候语
     */
    void sallHello(String str2);
    /**
     * 书信的内容
     * @param str3 书信的内容
     */
    void body(String str3);
    /***
     * 书信的结尾
     * @param str4 书信的结尾
     */
    void over(String str4);
    /***
     * 写信人的姓名
     * @param str5 写信人的姓名
     */
    void name(String str5);
    /***
     * 写信的日期
     * @param str6 写信的日期
     */
    void date(String str6);
}

我们定义的这个接口将日常生活中写信的格式,这样我们只要向里面添加文字就可以了。现在我们顶一个类来实现接口:

 public class Letter implements ILetter {
    @Override
    public void title(String str1) {
        System.out.println(str1);
    }
    @Override
    public void sallHello(String str2) {
        System.out.println("  "+str2);
    }
    @Override
    public void body(String str3) {
        System.out.println("\n  "+str3);
    }
    @Override
    public void over(String str4) {
        System.out.println("\n  "+str4);
    }
    @Override
    public void name(String str5) {
        System.out.println("                          "+str5);
    }
    @Override
    public void date(String str6) {
        System.out.println("                  "+str6);
    }
}

实现接口的这个类里面我们重写了书信接口里面的所有抽象的方法,我们一个类也可以实现多个接口,每个接口名之间我们用逗号隔开就可以了。最后一步就是写一个测试类来测试我们写的接口是否有问题了。

public class LetterText {
    public static void main(String[] args) {
        Letter letter = new Letter();
        String str1 = "尊敬的爸爸、妈妈:";
        String str2 = "你们好吗?";
        String str3 = "我在这里挺好的。\n  我会努力学的。\n  您二老保重身体!";
        String str4 = "此致\n敬礼";
        String str5 = "周杰";
        String str6 = "2010年6月1日";
        letter.title(str1);
        letter.sallHello(str2);
        letter.body(str3);
        letter.over(str4);
        letter.name(str5);
        letter.date(str6);
    }
}

我们会发现这和我们多态没有什么多大区别啊!那为什么我们要定义接口?定义接口我们可以更好的管理我们定义的多态。大量的节省代码,同时大量的节省了我们火气维护和更新代码的时间。所以面向接口的编程可以给我们带来无限的好处。

相关文章

  • java学习干货之接口与实现

    接口泛指别人调用的方法或者是函数。我们是通过Interface来定义接口的,我们也可以将接口看做成一个抽象的类,只...

  • 深入学习Java之LinkedList

    深入学习Java之LinkedList 前言 LinkedList,作为最常用的List接口的实现类之一,与Arr...

  • 深入学习Java之Vector

    深入学习Java之Vector 前言 在前面我们学习了关于List接口中的几个实现ArrayList、Linked...

  • Kotlin 接口

    Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现: 实现接口...

  • Kotlin教程 第8章 接口

    Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现: 实现接口...

  • java基础:ArrayList — 源码分析

    其他更多java基础文章:java基础学习(目录) 学习资料ArrayList集合实现RandomAccess接口...

  • java成神之路---集合框架

    标签(空格分隔): java java集合类库的设计思想:“接口与实现分离” java类库中的集合接口和迭代器接口...

  • Kotlin抽象类与接口

     在kotlin中,与java不同的是,接口即可以有方法接口也可以有方法实现,实现此接口的类必须实现方法接口,但也...

  • CoreJava笔记 - 集合类

    Java集合框架 接口与实现分离ArrayDeque和ArrayList都实现了Queue接口,在实际应用中...

  • 05.接口的优点

    接口优点 1.类与接口的关系,实现关系,而且是多实现,一个类可以实现多个接口,类与类之间是继承关系,java中的继...

网友评论

本文标题:java学习干货之接口与实现

本文链接:https://www.haomeiwen.com/subject/jelkjttx.html