Java抽象类,包装类简单学习

抽象类

抽象类主要是用来约定对于子类必须需要覆写的方法。还可以用其来实现一些对于具体调用方法或步骤的封装。

使用abstract来定义抽象类和抽象方法。

如果要使用抽象类,必须:

  1. 抽象类有子类,子类使用extends继承父类。
  2. 抽象类的子类必须覆该抽象类的全部抽象方法(若子类也是抽象类,则不强制要求)。

抽象类无法自己实例化,即使抽象类中没有任何抽象方法。

在模板设计模式中有用到抽象类,大致思路为:考虑到抽象类的子类必须覆写特点,加上final修饰的东西不能被更改和覆写的特点。在抽象类中写入一些抽象方法,在使用final来修饰一个调用已定义的抽象方法的普通final方法,目的是对于所有属于该抽象类的此final流程,限定了其实现方式。后续修改也会比较简单。

包装类

对于基本数据类型,有时需要将其当做类来处理,此时就需要对其进行包装了。
在这里插入图片描述

  1. 装箱:将基本数据类型转换为其对应的包装数据类型
  2. 拆箱:将包装数据类型转换为其对应的基本数据类型

JDK1.5后增加了自动装箱与拆箱。

关于包装类型的相等判断上,尽量使用.equals()方法来判断是否相等

来自阿里巴巴Java开发手册

对于 Integer var = ? 在-128 至 127 范围内的赋值,Integer 对象是在
IntegerCache.cache 产生,会复用已有对象,这个区间内的 Integer 值可以直接使用==进行
判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑,
推荐使用 equals 方法进行判断。
阿里巴巴 Java 开发手册 7 /35

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值