灯塔11.15java学习总结

本文详细介绍了面向对象编程中的抽象类与抽象方法概念,包括它们的定义、注意事项以及接口的使用。特别关注了JDK8及后续版本中接口新增的默认方法、静态方法和私有方法。总结指出接口作为行为抽象的重要性,以及接口多态的应用。
摘要由CSDN通过智能技术生成

面向对象进阶

抽象类与抽象方法

#抽象方法:

  将共性的行为(方法)抽取到父类之后。由于每一个子类执行的内容是不一样的,所有,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。

#抽象类:

  如果一个类中存在抽象方法,那么该类就必须声明为抽象类。

抽象类和抽象方法的定义格式

#抽象方法的定义格式:

public abstract 返回值类型 方法名(参数列表);

#抽象类的定义格式:

public abstract class 类名{}

抽象类和抽象方法的注意事项

#抽象类不能实例化

#抽象类中不一定有抽象方法,有抽象方法一定有抽象类

#可以有构造方法

#抽象类的子类

  *要么重写抽象类中的所有抽象方法

  *要么是抽象类

接口

接口的定义和使用

#接口用关键字interface来定义

public interface 接口名{}

#接口不能实例化

#接口和类之间是实现关系,通过implements关键字表示

public class 类名 implements 接口名{}

#接口的子类(实现类)

要么重写接口中的所有抽象方法

要么是抽象类

注意1:

接口和类的实现关系,可以但实现,也可以多实现。

public class 类名 implements 接口1,接口2{}

注意2:

实现类还可以在继承一个类的同时实现多个接口。

public class 类名 extends 父类 implements 接口名1,接口名2{}

接口成员的特点

#成员变量

只能是常量

默认修饰符:public static final

#构造方法

没有

#成员方法

只能是抽象方法

默认修饰符:public abstract

*jdk7以前:接口只能定义抽象方法

*jdk8新特征:接口中可以定义有方法体的方法

*jdk9新特征:接口中可以定义私有方法

接口和类之间的关系

#类和类的关系:

继承关系,只能单继承,不能多继承,但可以多层继承

#类和接口的关系:

实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口

#接口和接口的关系:

继承关系,可以单继承,也可以多继承

细节:如果实现类实现了最下面的子接口,那么就需要重写所有的抽象方法

JDK8以后接口中新增的方法

#允许在接口中定义默认方法,需要使用关键字default修饰

作用:解决接口升级的问题

#接口中默认方法的定义格式:

public default 返回值类型 方法名(参数列表){}

#接口中默认方法的注意事项:

*默认方法不是抽象方法,所有不能强制被重写。但是如果被重写,重写的时候去掉default关键字

*public可以省略,default不可以省略

*如果实现了多个接口,多个接口中存在相同名字的默认方法,子类就必须对该方法进行重写

JDK8以后接口中新增的方法

#允许在接口中定义静态方法,需要用static修饰

#接口中静态方法的定义格式:

public static 返回值类型 方法名(参数列表){}

#接口中静态方法的注意事项:

*静态方法只能通过接口名调用,不能通过实现类名或者对象名调用

*public可以省略,static不可以省略

JDK9以后新增的方法

接口中私有方法的定义格式

格式1:private 返回值类型 方法名(参数列表)

{}

格式2:private static 返回值类型 方法名(参数列表){}

总结

#接口代表规则,是行为抽象。想要让哪个类拥有一个行为,就让这个类实现对应的接口就可以了

#当一个方法的参数是接口时,可以传递接口所有实现类的对象,这种方式称之为接口多态

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟的编程之路k_k@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值