• Java - 接口和抽象类


    前言

              学习 Java 接口和抽象类 内容!

    一、接口

    接口声明

    接口通过关键字 interface 声明一个接口。

    interface So {
    }
    
    • 1
    • 2

    接口使用

    1. 定义一个接口的目的就是来给类用的(默认是 public )。
    2. 通过去使用接口,类实现接口使用关键字 implements, 实现接口就是实现接口中的方法,接口中的方法没有方法体,只需方法名称返回值类型
    3. 类只能单继承,但是一个类可以实现多个接口,每个接口名用 , 隔开。
      // 通过类实现接口,类使用接口用关键字implements
      class OneClass implements oneInterface, otherInterface {
          String name;
          public void show() {
              
          }
          
          public void doOther() {
              
          }
      }
      
      // 定义了一个接口,接口可以不加修饰符
      interface oneTnterface {
          // 定义一个方法,没有方法体。方法名称和返回值类型即可
          void show();
      }
      
      interface otherInterface {
          void doOther();
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      // 接口和类在不同文件
      // 动物接口
      public interface Animal {
       // 不同的动物有不同的行为特征
      	 void show();
      }
      
      // Cat 类
      public class Cat implents Animal {
      	public void show() {
          	System.out.println(“猫可以抓老鼠“);
       }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13

    接口的特性

    1. 使用 interface 关键字声明一个接口。
    2. 接口中的所有方法都是公开(public)的,而且是抽象(abstract)方法,通过 abstract 修饰。
    3. 接口当中可以定义变量,但都是公共静态常量。
    4. 接口中方法是不能有方法体的。
    5. 实现了接口就必须实现接口中的全部方法。
    6. 接口不是一个类,不能通过实例化,只能通过实现的形式去使用。

    二、抽象类

    声明

    抽象类也是一种类,只不过和普通的类有所差别。声明一个抽象类使用关键字 abstarct 去修饰一个普通类,这个普通类就变成了一个抽象类。

    public abstract class OtherAnimal {
        // 定义一个抽象方法:不能有方法体
        public abstract void show();
        // 普通方法
        public void test() {
            
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    抽象类的使用

    抽象类的使用:抽象类不能实例化,要通过继承方式使用。

    抽象类的特性

    1. 使用关键字 abstarct 修饰,本身还是一个类。
    2. 抽象类中可以有实现的方法。
    3. 抽象类涉及到继承,是单继承。
    4. 如果抽象类中定义了抽象方法,子类必须实现抽象类中的抽象方法。
    5. 抽象类中的抽象方法不能是私有的,否则子类无法实现。

    接口和抽象类的区别

    接口更像是定义一种功能或者是操作,实现该接口就去做某些事。
    抽象类则是对一些事物的高度概括。

    1. 抽象类是一个类,但是不能实例化,需要通过继承使用。接口也是不能实例化,需要通过类实现,而且两者都需要实现其中的抽象方法。
    2. 接口中不能有已实现的方法(有方法体),但是抽象类可以
    3. 接口可以多实现,但是抽象类只能单继承
    4. 抽象类里可以没有抽象方法
    5. 如果一个类其中包含抽象方法,那它一定是抽象类
  • 相关阅读:
    Executor接口实现线程池管理
    链路聚合_Eth-trunk
    安装ipmitool时报错,EVP_CIPHER_CTX ctx 未识别
    交换机端口镜像详解
    2024北京眼科医学展/北京眼科医疗设备展/北京眼健康展
    React Redux
    大模型相关资料整理
    GBase 8c V3.0.0数据类型——几何类型转换函数
    1413.Minimum Value to Get Positive Step by Step Sum
    PHP知识点
  • 原文地址:https://blog.csdn.net/weixin_39903708/article/details/125622600