2021-7-26笔记

三.代码段

1.构造代码段生存周期对象一致)

构造代码段 直接在类中写的代码段, 就是构造代码段。

构造代码段中的代码, **在每次实例化对象的时候执行,执行顺序优先于构造方法.。** 一般在构 造方法中, 对对象的某些属性进行初始化的赋值。 

构造代码段, 功能与无参构造方法是有重复的, 实际使用中, 以构造方法的使用较多。

2.静态代码段生存周期一致)

直接在类中写的代码段, 用static修饰, 就是静态代码段。

静态代码段, 当类第一次加载到内存中的时候执行, 一般进行属性的初始化赋值, 或者进行 资源加载,执行顺序优先于main 。

四.Object类

Object类:是java继承体系中所有类的⽗类,Object类没有⽗类.

作为所有类的⽗类,它⾥⾯有11个⽅法,相当于所有⼦类都默认有这些⽅法,所以都很重 要. 

五.接口

5.1接口的定义

定义接口,需要使用到关键字 interface

接口中可以定义:

  • 属性

    • 接口中的属性,默认都是静态常量,访问权限都是public。

  • 方法

    • 接口中的方法,默认都是抽象方法,访问权限都是public。

注意:

一般接口中不写成员变量,只写方法,相当于制定规则,所以又将接口称为方法列表

接口的作用 :

让java从单继承间接的实现了多继承,扩充了原来的功能,我们可以认为接口是类的补充.

5.2接口和抽象类的异同

相同点 :

  • 都可以编译成字节码文件。

  • 都不能创建对象。

  • 都可以声明引用。

  • 都具备Object类中所定义的方法。

  • 都可以写抽象方法。

不同点 :

  • 接口中所有的属性,都是公开静态常量,缺省使用 public static final 修饰。

  • 接口中所有的方法,都是公开抽象方法,缺省使用 public abstract 修饰。

  • 接口中没有构造方法、构造代码段、静态代码段。

5.3 接口的实现(implements)

接口,需要让类实现,表示这个类具有了这个接口定义的能力。因为接口中有很多的抽象方 法,因此类在实现接口的时候,如果不是抽象类,必须要重写实现接口中所有的抽象方法。

一个类可以实现多个接口

我们使用接口进行行为的约束,规则的制定。接口表示一组能力,那么一个类可以接受多种 能力的约束。类比于合同来说,一个人是可以签订多份合同的。因此,一个类可以实现多个 接口。实现多个接口的时候,必须要把每一个接口中的方法都实现了。

注意:如果一个类实现的多个接口中,有相同的方法,实现类只需要实现一次即可。

5.4. 接口的继承

接口之间也是存在继承关系的,与类的继承相似,子接口可以继承到父接口中所有的成员 的。 

与类的继承不同,接口之间的继承是多继承。也就是说,一个接口是可以有多个父接口的。 子接口可以继承到所有的父接口中的成员。

注意:

上述,一个类实现多个接口的时候,多个接口中不能存在有冲突的方法。接口在继承父接口 的时候,也不允许同时继承两个有方法冲突的接口。

父类与接口的功能如何分配?

一般父类中放的是主要功能,接口中放的是额外的功能,接口作为父类的补充

当一个类实现的接口中出现了相同的方法,子类中实现方法的时候会不会混淆?

不会,接口中的方法都是抽象的,要通过子类写具体的实现.我们在调用方法时,最终看的功能,
而功能只有子类中的一份

5.5接口的多态

接口的引用,可以指向实现类的对象。与类的多态相似,同样存在向上转型和向下转型。

  • 向上转型:实现类类型转型为接口类型。

    • 是一个隐式转换,不需要任何的修饰。

    • 向上转型后的接口引用,只能访问接口中的成员。

  • 向下转型:接口类型转型为实现类类型。

    • 是一个显式转换,需要强制类型转换。

  • 向下转型后的实现类引用,将可以访问实现类中的成员。

5.6接口的新特性(了解)

在Java8中,为接口添加了两个新特性:

  • static方法:可以在接口中定义静态方法,静态方法不是抽象方法,是有实现部分的。同 时,这个静态方法,只能由当前的接口名字调用,接口的引用和实现类都是不能使用 的。

  • default方法:修饰接口中的方法,default修饰的方法可以添加默认的实现部分。此时, 实现类在实现接口的时候,对于这些方法可以重写,也可以不重写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值