什么是封装?什么是继承?什么是方法重写?详情介绍封装、继承、方法重写

什么是封装?

封装就是将对象的属性和实现的过程进项隐藏,对外界只留下接口(方法/函数)通过这个接口来修改获取对象的属性和功能行为。

封装的目的:

增强信息流的安全性和简化编程,使用的时候可以直接特定的接口来使用类的成员(属性数据和函数都是类的成员)

封装的作用

就是保护内部代码不被破坏

  1. 拒绝直接调用声明字段,保护内部的数据,更安全。
  2. 重复代码调用,避免代码冗余,程序编写效率高。

什么是继承?

继承发生在父类和子类之间,子类继承父类,使子类具有父类的属性和方法或者重新定义、追加属性和方法等。
**优点:**继承使代码的复用更加简单容易,大大缩短了开发的周期,降低开发成本。

A继承B:

A:子类 或者称为 派生类

B:父类 或者 超类、基类。

为什么要继承
  1. 提高代码的复用性,使开发更加简单便捷。
  2. 起到扩展功能的作用。

方法重写 @Override

什么是方法重写

在Java和其他一些面向对象的编程语言中,子类可继承父类中的方法,而不需要从新编写相同的方法,但有时子类不想原封不动的继承父类的方法,而是想做一定的修改,这就需要采用方法的重写,方法重写又称方法覆盖。
方法从写 和 方法重载的区别:
重载(Overload):发生在同一个类中,方法名相同,参数列表不同,不考虑返回值。

  • 重写(Override):发生在父子类中,子类继承父类的方法,方法名相同,参数也相同,但是实现方法体不同。

  • 重写需要注意的事项

    ​ 子类和父类的方法必须具有相同的函数名称、参数列表,并且子类的返回值与父类相同父类返回类型的子类型。如果方法名称相同而参数列表不同(返回类型可以相同也可以不同),那么只是方法的重载。而非从写。如果方法名称和参数列表相同,返回类型不同,子类返回值类型也不是父类返回值类型的子类型,编译器就会报错

    • 子类方法的权限必须大于等于父类方法的权限(不包括private)。

    • 私有的不能被继承

    • super关键字

如果子类既想有自己的方法,又想父类的成员变量和方法,

  1. 在子类的成员方法中访问父类的成员变量和成员方法
  2. 在子类的构造方法中访问父类的构造方法。

this关键字

代表当前这个对象

继承中构造方法的特点(父子类)

  • 构造方法不能被继承(构造方法是一个类独有的方法)
  • 创建子类对象一定是优先调用父类构造,再调用子类构造(并且只有子类构造才能调用父类构造)
  • 子类构造可以通过super关键字调用父类有参构造、无参super()、有参super(参数列表)。
  • super父类构造调用,必须是子类构造中的第一行语句。 (并且一个子类构造,只能调用一次super())。必须先有父再有子。
  • 基本类型包装类

基本数据类型:

基本数据类型包装类字节取值范围
byteByte1-128-127
shortShort2-215-215-1
intInteger4-231-231-1
longLong8-263-263-1
floatFloat4-2-149-2128-1
doubleDouble8-2-107421024-1
charCharacter2单引号括住的单个字符unicode表中的所有的字符,Unicode表涵盖了几乎所有国家的所有语言的所有文字
booleanBooleantrue/false

自动装箱与自动拆箱:基本数据类型和包装类之间可以自动地相互转换

装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的xxxValue方法实现的。(xxx代表对应的基本数据类型)。

常见面试题

int和Integer的区别

  1. 默认值: int是0 Integer 是null
  2. Integer是int封装类 int-》Integer 装箱 Integer里的ValueOf
  3. Integer->int intValue()

int 是基本数据类型,Integer是引用数据类型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值