Java 接口

2022-05-19  本文已影响0人  bowen_wu

概述

class Animals {
}

// 功能 | 能力
interface CanFly {
    void canFly();
}

interface CanBreath {
}

// 鸟是动物它可以飞
class Bird extends Animals implements CanFly, CanBreath {
    @Override
    public void canFly() {
        System.out.println("Bird fly");
    }
}

默认方法优点

接口 vs 抽象类

Java 中的产生接口和抽象类的原因:最大程度的灵活性 + 最大程度的复用

共同点

不同点

final 关键字

  1. final 声明变量,变量是不可变的,必须初始化(Main 方法中赋值 | 定义时赋值),只能被赋值一次
  2. final 修饰对象时,地址不可以变 => 对象的内部属性 | 方法是可以变的
  3. final 修饰方法 => 禁止 继承 | 覆盖 | 重写 此方法
  4. final 修饰类时意味着这个类不可继承,其他类不可以继承这个类 => 为什么 String | Integer 等类是 final 的 => 避免了客户端通过继承常见的类来破坏程序的约定 =>
    继承提供了灵活性,也埋下了隐患
  5. 可以声明不可变局部变量
  6. 用于声明函数的参数,此时函数的参数不能被改写
  7. static final => 定义有名字的常量

优点

知识点

  1. 常量的命名约定 => 全大写 + 下划线
    public static final double PI = 3.1415926;
    private static final double PI = 3.1415926;
    
上一篇 下一篇

猜你喜欢

热点阅读