自学内容网 自学内容网

【JAVA】第十二节:抽象类与接口(详细介绍)

上一篇详细介绍了面向对象多态的知识,这篇来说说抽象类与接口。

目录

一、抽象类

1.1 抽象类是什么?

1.2 抽象类的特点

1.3 抽象类出现的意义

1.4 匿名对象

二、接口

2.1接口是什么?

2.2 接口的特点

2.3 接口与接口的关系

2.4 接口出现的意义

2.5 接口的实现案例

三、抽象类和接口的区别


一、抽象类

1.1 抽象类是什么?

抽象类名字抽象,理解起来不抽象,顾名思义,抽象类也只是一个特殊点的类,特殊在哪呢,

抽象类只能被继承使用,它本身就像一个模板,里面的方法都没有具体实现的内容,这些方法叫抽象方法,在面向对象编程中常用于定义通用的行为规范,给子类提供一个模板

1.2 抽象类的特点

1.抽象方法必须包含在抽象类中,一个类内有抽象方法,那它一定是抽象类


2.抽象类中的方法不需要实现


3.抽象类不能被实例化


4.抽象方法不能是 private 的


5.抽象方法不能有 final 和 static 修饰

6.抽象类的子类如果也抽象,子类可以不必去重写方法,直到子类不抽象,所有方法都实现


1.3 抽象类出现的意义

前面也说了抽象类就是一个给子类准备的模板,它的存在意义就是为了让子类去继承他,实现抽象类中的各种方法,可以说抽象类就是为了继承而生的。虽然普通类也都能做到,但是使用抽象类相当于多了一重编译器的校验。


1.4 匿名对象

匿名对象是指没有被命名的对象。通常直接创建使用 new + 类名,仅在一个地方使用,匿名对象的生命周期很短暂,一旦使用完成就被销毁,无法再被访问。

匿名对象适用于一些简单、临时的操作。



二、接口

2.1接口是什么?

 生活中的插座口,usb插口,都是接口

在编程中接口是一种定义了类或对象应该具备的行为、属性或方法的规范,接口就是一种行为的抽象,它定义了一组相关的方法,用来描述一个类的行为能力。通过实现接口,类可以表明它具备了某种特定的行为能力

简单来说一个接口就是一个功能,比如狗会跑,鸡会跑,那他们可以实现一个IRunning接口,用来表明它们都可以跑,同理 鱼会游泳,人会游泳,就实现ISwiming接口,人还会跑,就再实现IRunning接口,这就是接口。

2.2 接口的特点

1.接口的成员变量默认被public static final 修饰


2.接口中的方法默认都是 public abstract


3.如果抽象中的方法前加上 defualt/static 就可以对方法进行实现了


4.接口也不能实例化


5.类通过 implements 去实现接口


6. 抽象类实现接口后可以不从重写接口的方法,但是它的子类必须实现


7.接口中不能有静态代码块和构造方法


2.3 接口与接口的关系

接口与接口之间可以继承,一个接口可以继承多个接口


2.4 接口出现的意义

通过上面的介绍,我们认识到了接口,接口的意义就是弥补了java不能多继承的缺点,通过不同的接口,表明自己这个类的特性与特定功能


2.5 接口的实现案例

接口可以做到类能做到大部分事情,包括多态,下面案例展示



三、抽象类和接口的区别

抽象类接口都是 Java 中多态的常见使用方式. 都需要重点掌握. 同时又要认清两者的区别

核心区别: 抽象类中可以包含普通方法普通字段, 这样的普通方法字段可以被子类直接使用(不必重写), 而接口不能包含普通方法, 子类必须重写所有的抽象方法



原文地址:https://blog.csdn.net/qq_75234423/article/details/144107791

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!