zoukankan      html  css  js  c++  java
  • 关于接口的那些事

    1.先了解一下什么是接口?

          在java中接口可以含有变量和方法,它可供别人调用的。并且,接口中的变量只能是public static final变量,用其它的修饰会报错。而方法会被指定为public abstract这种抽象形式的,其它的关键字(private、protected、static、final等)也是不行的,这都是固定的写法。

    那么,接口的本质是什么呢?或者说接口存在的意义是什么呢?

    //下面的这段内容是借鉴别人的,在这里感觉解释的比较容易理解。

          接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。
    例如,在自然界中,人都能吃饭,即“如果你是人,则必须能吃饭”。那么模拟到计算机程序中,就应该有一个IPerson(习惯上,接口名由“I”开头)接口,并有一个方法叫Eat(),然后我们规定,每一个表示“人”的类,必须实现IPerson接口,这就模拟了自然界“如果你是人,则必须能吃饭”这条规则。

    2.如何定义一个接口?

      例如:一个接口,这个接口里面有一个方法,能够得到所有的学生信息:

    public interface 接口名 {

          //定义变量(示例)

      //public static final int i=10;

      //定义方法,得到所有的学生信息

      public  List<Student> getAllInfo();

    }

    到这里,一个简单的接口就算定义完成了。

    3.注意:在接口中定义的方法,不能够有具体的实现代码。而具体的实现代码需要你重新定义一个类,这个类需要实现接口(上面定义的接口),并实现接口里面的所有方法。

    public class stuImpl implements 接口名 {

      public List<Student> getAllInfo{

        //具体的得到学生信息的代码

        }

    }

    通过接口创建接口的实现类:

    即:接口名 impl=new stuImpl();  //在这里很多人都会问“接口不是不可以对象吗”?????在下面会有说明。

    这样就可以通过impl来调用具体的方法了,

    即:impl.getAllInfo();

    4.解决 ”java中接口可以创建对象吗“?

            java接口可以创建对象,是指对其实例化。但接口是无法进行是实例化对象(也就是不能直接new出对象),而要使用接口中的方法要怎么做呢?因为我们知道接口中的方法仅仅只是定义了方法的结构,包含其修饰符,返回值类型以及方法名和参数列表,而(接口里)没有具体的实现细节,所以 要调用其方法就必须有【其(接口)】实现类来实现他的所有方法才可以被调用,被调用的时候创建实例可以是
    接口实现类 类对象 = new 接口实现类(); 的方式创建对象(实例)
    也可以使用
    接口 对象 = new 接口实现类();  的方式创建。
    第一种方式是常见的创建对象的形式,而第二种则是先创建一个数据类型为“接口(类)”类型的数据引用“对象”,然后将这个引用指向他的具体实现类,然后就可以通过对象.接口方法的形式调用该接口中的方法了。

    总结:接口不能被创建对象,  只有接口被类实现后(实例化),并把接口里所有抽象方法复写后才可创建该类对象。

  • 相关阅读:
    Spring Boot全日志设置
    SpringBoot整合Quartz
    Kubernetes网络方案的三大类别和六个场景
    微服务化之缓存的设计
    金融创新业务基于容器云的微服务化实践
    致传统企业朋友:不够痛就别微服务,有坑 (1)
    致传统企业朋友:不够痛就别微服务,有坑 (2)
    The Beam Model:Stream & Tables翻译(上)
    细说Mammut大数据系统测试环境Docker迁移之路
    [译] 关于 SPA,你需要掌握的 4 层 (1)
  • 原文地址:https://www.cnblogs.com/panpanpan/p/5966738.html
Copyright © 2011-2022 走看看