Java面向对象(20)--接口

简介: Java面向对象(20)--接口

接口的使用


①接口使用interface来定义

②Java中,接口和类是并列的两个结构

③定义接口中的成员


JDK7及以前:只能定义全局常量和抽象方法


全局常量: public static final修饰的,书写时,可以省略不写

抽象方法: public abstract修饰的,书写时,可以省略不写


interface fly{
  public static final int MAX_SPEED = 7900;
  int MIN_SPEED = 1; //省略不写
  public abstract void fly();
  void stop(); //省略不写
}


Java开发中,接口通过让类去实现( implements )的方式来使用


如果实现类覆盖了接口中的所有抽象方法,则此实现类就可以实例化

如果实现类没有覆盖接口中所有的抽象方法,则此实现类仍为一个抽象类


public class Test {
    public static void main(String[] args) {
    Bird bd = new Bird();
    bd.fly();
    bd.stop();
    }
}
class Bird implements fly{
    @Override
    public void fly() {
        System.out.println("鸟在飞");
    }
    @Override
    public void stop() {
        System.out.println("鸟停下了");
    }
}
interface fly {
    public static final  int Max_SPEED = 7900;
    int MIN_SPEED = 1; //省略不写
    public abstract void fly();
    void stop(); //省略不写
}


接口之间可以继承,且可以多继承


接口的具体使用,体现多态性


接口,实际上可以看做是一种规范


JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法


public interface Compare {
  //静态方法,只能直接通过接口调
  public static void method1(){
  system.out.print("这是静态方法");
  }
  //默认方法,通过实现类的对象调,可以在实现类中重写
  public default void method2(){
  system.out.print("这是默认方法");
  }
}


如果子类(或实现类)继承的父类和实现的接口中声明了同名同参数的方法,那么子类在没有重写此方法的情况下,默认调用的是父类中的同名同参数的方法。-- >类优先原则


实现类的方法中调用接口中的静态方法


接口名.super.静态方法名



相关文章
|
6天前
|
存储 算法 Java
滚雪球学Java(65):深入理解Java中的Map接口:实现原理剖析
【6月更文挑战第19天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
9 3
滚雪球学Java(65):深入理解Java中的Map接口:实现原理剖析
|
3天前
|
Java
Java中Comparable接口和Comparator接口的区别(如果想知道Java中Comparable接口和Comparator接口的区别,那么只看这一篇就足够了!)
Java中Comparable接口和Comparator接口的区别(如果想知道Java中Comparable接口和Comparator接口的区别,那么只看这一篇就足够了!)
|
1天前
|
Java
Java中,有两种主要的方式来创建和管理线程:`Thread`类和`Runnable`接口。
【6月更文挑战第24天】Java创建线程有两种方式:`Thread`类和`Runnable`接口。`Thread`直接继承受限于单继承,适合简单情况;`Runnable`实现接口可多继承,利于资源共享和任务复用。推荐使用`Runnable`以提高灵活性。启动线程需调用`start()`,`Thread`直接启动,`Runnable`需通过`Thread`实例启动。根据项目需求选择适当方式。
9 2
|
6天前
|
设计模式 Java 容器
在Java中调用一个接口的多个实现类
在Java中调用一个接口的多个实现类
16 4
|
3天前
|
Java API
java调用个人微信API接口收发朋友圈,删除评论朋友圈
java调用个人微信API接口收发朋友圈,删除评论朋友圈
|
3天前
|
存储 Java C语言
Java面向对象课程设计--类管理系统
Java面向对象课程设计--类管理系统
12 1
|
3天前
|
Java
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
|
7天前
|
Java 数据安全/隐私保护 开发者
Java是一种完全支持面向对象编程的语言,其面向对象特性包括封装、继承、多态和抽象等
【6月更文挑战第18天】**面向对象编程(OOP)通过对象封装状态和行为,实现问题域的抽象。Java全面支持OOP,核心特性包括**: - **封装**:保护数据安全,隐藏内部细节。 - **继承**:子类继承父类属性和行为,促进代码重用。 - **多态**:一个接口多种实现,增强灵活性和扩展性。 - **抽象**:通过接口和抽象类抽离共性,简化复杂性。 **Java的OOP便于理解和解决复杂系统问题。**
20 3
|
15小时前
|
Java
面向对象的JAVA代码详解
面向对象的JAVA代码详解
13 5
|
16小时前
|
Java 新能源
Java面向对象的过程及代码实现方法
Java面向对象的过程及代码实现方法