JAVA 接口和抽象类
2021/12/20 20:21:34
本文主要是介绍JAVA 接口和抽象类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JAVA 接口和抽象类
接口
接口可以用USB接口来比喻,USB插口存在于多种不同的产品上,电脑,电视,笔记本之类,而这些产品又有很多品牌,不同品牌享受的系统服务也不同,USB接口就是一个通用点,他们的USB接口都能接U盘和鼠标。由此我们就可以得出结论,接口是一个只要你满足规范约束就能使用一些功能其中所指的约束。
例如我们写一个mouse鼠标在USB接口里,电脑(computer)能用,笔记本(laptop)也可以使用
interface 用于定义接口的关键字
public interface USB(){ void mouse(); }
引用接口
public class Computer implements USB{ @Override public void mouse() { System.out.println("可用鼠标"); } }
实现
public class ComputerTEST { public static void main(String[] args) { USB computer = new Computer(); computer.mouse(); } }
抽象类
· 抽象方法是出现在基类中的一种方法,但要求在派生类中被重写。
· 一个抽象方法只有方法头,没有方法主体
· 包含抽象方法的类就会自动办成抽象类,隐刺必须以abstract关键字声明。
· 抽象方法会被用来确保派生类会实现这个方法
· 若类含有抽象方法,则类必须以abstract关键字声明为抽象类
eg.public abstract class
· 抽象类可以含零或多个普通方法,也可以含零或多个抽象方法
· 不论抽象类是否含有抽象方法,其都不允许实例化,即不能创建抽象类的对象,因为其描述的是抽象概念。它只能作为其他类的基类。
· 若父类是抽象类,且子类不想成为抽象类,则子类必须将父类中所有抽象方法重写为带方法体的普通方法,否则子类仍必须是抽象类。
例
public abstract people{ public void run(){ System.out.println("run"); }//普通方法 public abstract void eat();//抽象方法 }
用teacher来继承people来实现eat方法
public class teacher extends people{ @override public void eat(){ System.out.println("eat"); } }
区别
1.成员区别
抽象类:可以有变量、常量、构造方法(抽象方法、非抽象方法都可以有)
接口: 只能有常量和抽象方法。
2.关键字不同
3.修饰符区别
4.关系区别
类与类:属于继承关系,单继承
类与接口:属于实现关系,可以单实现,也可以多实现
接口与接口:属于继承关系,可以单继承,也可以多继承
5添加子方法对子类的影响
在抽象类中添加新方法,提供默认方法,在子类中可以不用修改
在接口中添加新方法,实现该接口的类必须实现这个新添加的方法
6.设计理念区别
抽象类:对类抽象,包括了属性行为
接口:主要对行为抽象
这篇关于JAVA 接口和抽象类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求