栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java接口知识总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java接口知识总结

            接口和抽象类一样也是一种规范。

目录

        一.接口的定义与特点

        二.接口的用法

        三. JDK8对接口方法的新增

        一.接口的定义与特点
  1. JDK8之前接口中只能是抽象方法和常量,没有其他成分了。
  2. 接口不能实例化。
public interface Sport {
    
    //常量
    final static String goal = "做一名合格的运动员";
    
    //抽象方法
    abstract void run();
}

二.接口的用法

1.一个实现类可以实现单个接口,也可以实现多个接口(和继承不同)

2.实现在在继承接口后,必须重写接口中的所有方法,否则就定必须定义成抽象类

//JumpSport.java
public interface JumpSport{
    final static String goal = "做一名合格的跳高运动员";
    void Jump();
}



//BasketballSport.java
public interface BasketballSport {
    final static String goal = "做一名合格的篮球运动员";
    void Basketball();
}



//SportMan.java
//SportMan类实现了多个接口,并依次实现接口中的方法
public class SportMan implements JumpSport,BasketballSport{

    //重写接口的方法
    @Override
    public void Jump() {
        System.out.println("每天跑步");
    }

    @Override
    public void Basketball() {
        System.out.println("每天打篮球");
    }
}


3.接口和接口的关系:多继承,一个接口可以同时继承多个接口。

        我们也可以在刚刚的代码基础上,创建一个Sport接口让他继承其他的接口,这样子类只需实现Sport这个接口就可以了。规范合并,整合多个接口为同一个接口,便于子类实现。

public interface Sport extends JumpSport,BasketballSport{

    //常量
    final static String goal = "做一名合格的运动员";

    //抽象方法
    abstract void run();
}

public class SportMan implements Sport{


    //重写接口的方法
    @Override
    public void run() {
        System.out.println("每一个运动员每天都要跑步");
    }

    @Override
    public void Jump() {
        System.out.println("每天跑步");
    }

    @Override
    public void Basketball() {
        System.out.println("每天打篮球");
    }
}

        4. 这里再总结下类和接口的区别

        类和类的关系: 单继承。            类和接口的关系:多实现。         接口和接口的关系:多继承,一个接口可以同时继承多个接口。

        三. JDK8对接口方法的新增

                    改进:允许接口中直接定义带有方法体的方法

                        1.新增default(默认方法)  :必须用default修饰,需要用接口的实现类的对象来调用

                        2.新增static静态方法:必须static修饰,必须用本身的接口名来调用。

                        3.新增private私有方法:JDK 1.9才开始有的。(了解)

                    前面我们的代码,是通过子类重写父类方法来实现方法的调用,这样的话,每次方法体代码的修改都要到子类中实现,很不方便,JDK8之后允许接口中直接定义带有方法体的方法。


                         

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932914.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号