接口和抽象类的注意细节

本文介绍了Java中的抽象类和接口,包括它们的定义格式、特性(如抽象方法、默认方法、静态常量)、使用场景以及两者之间的区别,如抽象类不可实例化而接口不可实例化但可多态。
摘要由CSDN通过智能技术生成

一. 抽象类

1,概念由abstract修饰的类称为抽象类定义格式如下:

2.有上图可知抽象类中可以有抽象方法(但是抽象方法不能有private 和 final和static修饰),也可以有已经实现的方法,抽象类还是类,可以拥有类的所有成员。

3抽象类不可以实例化

4.一个类继承于抽象类那么这个类必须实现抽象类中所有抽象方法,除非他本身也被申明为抽象类这样他可以不用实现抽象类中的抽象方法。

5.抽象类可继承非抽象类,抽象类也可以实现接口。

6.抽象类的应用场景,当一个类中的方法不确定时,那么可以把这个类申明为抽象类。

二. 接口的注意细节

1,接口的是由interface关键字申明的,接口的定义格式如下:(接口的修饰符和类的一样)

2.接口中的变量都是 默认都是以public static final 修饰的,不可以被改变,就是常量。接口中的方法都是用public修饰

2.jdk7以前,接口中的方法都是抽象方法,在jdk8以后,接口中可以有实现的方法,但是要用default修饰,在jdk9以后接口中可以有私有方法。

3.接口与类之间是实现关系,接口与接口之间是继承关系,可以多继承,也可以多继承。一个类可以同时实现多个接口(一个类实现接口时,那么这个类就要实现接口中所有的抽象方法,除非他自己也申明为抽象类,这样就不用实现接口中的抽象方法)

4.如果一个类实现了多个接口,且多个接口中有同名的默认方法,那么这个类就必须实现这个默认方法(在实现这个方法的同时还要把default关键字去掉),除非它是抽象类

5.接口不能被实例化 接口中的抽象方法不用abstract修饰。(就是可以省略不写)

6.接口中的属性都是静态的常量

7.一个类实现多个接口时,且接口中有多个同名的抽象方法,那么这个类只用实现一个就行。

8.接口的应用场景,当子类继承父类时,那么子类将拥有父类的大部分方法和属性,此时子类想要扩展功能,那么就可以实现对应的接口。来提高自己的能力。

9.接口的多态(接口的引用可以指向实现类的对象)此时 传递接口类型的参数时,那么参数可以传入实现的类型或者为该类的子类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值