系列十六、抽象类  接口

一、抽象类 & 接口

1.1、抽象类

1.1.1、概述

        被abstract修饰的类,称之为抽象类。抽象类中可以一个抽象方法也没有,但是如果一个类中有抽象方法,此类必须为抽象类。

1.1.2、特点

        抽象类中可以有抽象方法也可以全部都是普通方法(包括实例方法、静态方法),同时在抽象类中可以定义实例成员属性、静态成员属性,还可以书写构造方法。

1.1.3、案例

/*** @Author : 一叶浮萍归大海* @Date: 2024/1/9 21:08* @Description:*      Spurt fire:喷火*      ride on a cloud:腾云驾雾*/
public abstract class Dragon {/*** 实例成员属性*/private Integer footNumber;/*** 静态成员属性*/private static String headNumber;/*** 构造方法*/public Dragon() {}/*** 抽象方法:喷火* @return*/public abstract String spurtFire();/*** 实例方法*/public void sleep() {}/*** 静态方法*/public static void rideOnACloud() {}}

1.1.4、抽象类和普通类的区别

(1)抽象类可以有抽象方法,普通类没有抽象方法;

(2)普通类可以创建对象,但是抽象类不能创建对象(抽象类可以有构造方法);

1.2、接口

1.2.1、概述

        接口类似于抽象类,只不过接口中的方法必须全部为public abstract修饰的抽象方法,接口中也不能够有构造方法;接口中的成员变量必须被public static final修饰,抽象方法默认被public abstract修饰,成员变量默认被public static final修饰。

1.2.2、案例

public interface HiService {public static final String NAME = "小明";String DESCRIPTION = "法外狂徒小明";/*** 打招呼** @param name*/void sayHello(String name);/*** 打招呼* @param name*/public abstract void sayHi(String name);}