面向对象第3期(static、抽象类、接口、内部类)

本文探讨了Java中静态方法与非静态方法的区别,强调了抽象类的约束作用和接口的契约特性。介绍了抽象类的使用场景,包括定义规范、提高代码复用性和简化实现。同时讲解了接口的定义、接口方法的重写以及内部类的访问权限.
摘要由CSDN通过智能技术生成

static

在这里插入图片描述

  • 同一个类中,非静态方法可以调用静态方法,但静态方法不能被非静态方法调用(类加载先后的问题)。
  • 在这里插入图片描述
    在这里插入图片描述

抽象类(abstract)

  • 抽象类的子类必须完成抽象方法的重写(除非子类也是抽象的)
  • 抽象类是一种约束,可以用于搭建整体框架
  • 抽象类不能被new(实例化)
  • 抽象类中可以存在普通方法,但抽象方法只能存在于抽象类中
  • 抽象类中存在构造器(便于子类在创建对象时调用父类的方法进行初始化操作)在这里插入图片描述* 抽象类的主要用途有:

定义规范:抽象类可以定义一些规范和标准,让子类去实现具体的细节,从而保证代码的一致性和可维护性。

提高代码复用性:抽象类中的非抽象方法可以被子类继承或者重写,从而提高代码的复用性。

简化代码实现:抽象类可以将一些通用的方法和属性封装起来,让子类去实现具体的细节,从而简化代码实现。

接口(interface)

接口是一种约束,约束和实现分离(接口自己无法写方法),可分给不同的人实现
接口的本质是契约
接口中一般只有方法的定义,接口中的属性都是常量
在这里插入图片描述

实现一个接口要完成(重写)接口里的方法
接口可以实现类似多继承的效果
在这里插入图片描述

接口中的默认方法

在这里插入图片描述

  • 第三点:如果不进行重写,则test类不知道调用哪个default方法

内部类

通过外部类的对象进行创建
可以获取外部类的私有属性
在这里插入图片描述

  • 一个Java文件中只有一个Public类,但可以有很多普通类(不必是内部类)
  • 匿名内部类在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值