Java中的抽象和接口

本文介绍了Java编程中的抽象类和接口。抽象类是一种不能实例化的类,包含抽象方法,用于提供通用的基类结构。接口则是一种完全抽象的类型,包含抽象方法的集合,用于定义类需要实现的行为。Java类可以实现多个接口,但只能继承一个抽象类。JDK1.8以后,接口还可以包含默认方法,允许部分方法的实现。
摘要由CSDN通过智能技术生成
     Java中的抽象和接口
开发工具与关键技术: MVC,java
作者:汤池
撰写时间:2022/6/8

一、抽象类
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,
如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法、初始化块和构造方法和普通类一样。
并且抽象类和普通类相比还多出了抽象方法。

格式:
[修饰符] abstract class 类名{
    //零到多个成员变量
    //零到多个构造器
    //零到多个普通方法
    //零到多个抽象方法
    //零到多个初始化块
}

(一)、抽象方法:
    抽象方法只包含一个方法名,而没有方法体,使用abstract修饰。
    格式:
        [修饰符] abstract 返回值类型 方法名(形参列表);
    修饰符 (public protected private)三选一

(二)、抽象类总结:
    1. 抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。
    2. 抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。
    3. 抽象类可以包含成员变量、方法(普通方法和抽象方法都可以)、构造器、初始化块、内部类(接 口、枚举)5种成分。
    4. 抽象类的构造器不能用于创建实例,主要是用于被其子类调用。
    5. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类
    6. abstract static不能同时修饰一个方法
    7、抽象类可以有主函数,可以执行。
    
    
二、接口 interface
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。
一个类通过实现接口的方式,从而来实现接口的抽象方法。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。

(一)、接口定义
[public] interface InterfaceOne [extends fatherInterface1,fatherInterface2...]{
    [public] [static] [final] type CONSTANT_NAME=Value;//定义常量
    //[public] [static] [final]可以不写,一般也不用写。 编译时自动为接口里定义的成员变量增加public static final修饰符

    [public] [abstract] returnType methodName(参数列表);//声明方法
    //[public] [abstract] 可以不用写,一般也不写。编译时自动为接口里定义的方法添加public abstract修饰符
}
接口有以下特性:
    1、接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字。
    2、接口中每一个方法也是隐式抽象的,声明时同样不需要abstract关键字。
    3、接口中的方法都是公有的。
    4、编译时自动为接口里定义的方法添加public abstract修饰符
    5、Java接口里的成员变量只能是public static final共同修饰的,并且必须赋初值,可以不写public
    6、static final,编译的时候会自动添加

(二)、接口的实现
    当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。
    类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。
    注意:JDK1.8+可以通过添加default关键字,不必强制实现所有方法。
    Java中类可以实现多个接口
    格式:
    [修饰符] class 类名 [implements 接口1, 接口2, 接口3..., ...]
    {
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值