zoukankan      html  css  js  c++  java
  • 接口的概念

    一:概念

    接口是功能的集合。同样可以看做一种数据类型,是比抽象类更为抽象的“类”。

    接口描述应该具备的方法,并没有具体的实现。具体实现由接口的实现类(相当于接口的子类来完成)。

    什么是接口?

    一个普通方法都没有,全是抽象方法!这就是接口

    定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件。

    接口的关键字:

    interface 

    接口定义格式:

    public interface 接口名 {

      抽象方法1;

      抽象方法2;

      抽象方法3;

    }

    注意:

     在接口中默认方法都是抽象的(abstract),不管是否使用public abstract,都一样

    接口不可以直接创建对象

    子类必须重写接口中所有的抽象方法,子类才可以实例化,否则子类还是一个抽象类

    类实现接口:

    类与接口的关系为实现关系,即类实现接口。实现的动作类似继承,只是关键字不同,实现使用implements

    类实现接口格式:

    public class 类 implements 接口 {

        重写接口中方法

    }

    public interface Demo { ///定义一个名称为Demo的接口。
    	public abstract void show1();
    	public abstract void show2();
    }
    

     接口的好处弥补了java中单继承的缺陷,接口可以多实现:

    public interface Fu1
    {
    	void show1();
    }
    public  interface Fu2
    {
    	void show2();
    }
    public class Zi implements Fu1,Fu2// 多实现。同时实现多个接口。
    {
    	public void show1(){}
    	public void show2(){}
    }

    有继承关系的就先继承然后在连接类接口

    接口与抽象的相同点:

    都不能直接实例化对象

    都可以包含抽象方法,但是子类必须重写这些抽象方法

    区别:

    抽象类为部分方法提供实现,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方法;

    一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)

    抽象类里面不一定只有抽象方法,也可以有普通方法,但是接口中一定只有抽象方法,没有普通方法!

  • 相关阅读:
    线程池中的scheduleAtFixedRate scheduleWithFixedDelay区别
    几道MySQL问题
    【SQL server 2012】复制数据库到另一台机器上
    LeetCode 98. 验证二叉搜索树
    深度学习知识点
    Graph Network Notes
    剑指 Offer 33. 二叉搜索树的后序遍历序列
    剑指 Offer 29. 顺时针打印矩阵
    LeetCode 54. 螺旋矩阵
    LeetCode 50. Pow(x, n)
  • 原文地址:https://www.cnblogs.com/awdsjk/p/10913845.html
Copyright © 2011-2022 走看看