【2022Java面试】java面向对象有哪些特征?——001题

难度:入门级

引言

面向对象编程是利用类和对象编程的一种思想,面向对象编程三大特征是封装、继承、多态。

1、封装

封装是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。

封装将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

封装隐藏了类的属性和内部实现机制,可以在不影响使用的情况下(对外接口不变)改变类的内部结构,同时也保护了数据。

目的

便于使用,增加了代码的可重用性和安全性。

基本要求

封装的基本要求是: 把所有的属性私有化,对每个属性提供getter和setter方法,如果有一个带参的构造函数的话,那一定要写一个不带参的构造函数。

2、继承

Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类(派生类),被继承的类称为父类(超类)。

继承关系在本质上是特殊—一般关系,即is—a关系,继承关系是实现多态的前提。

目的

提高代码复用率

基本要求

在Java中是单继承的,也就是说一个子类只有一个父类。

子类不能继承父类中访问权限为private的成员变量和方法。

子类继承父类,但是对父类的成员变量是无法直接操作,只能通过父类继承过来的setter和getter方法.

子类可以重写父类的方法,及命名与父类同名的成员变量。

3、多态

多态指的是对象的多种形态,即同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。也可以理解为事物存在的多种体现形态(父类的引用类型变量指向了子类对象,或者是接口的引用类型变量指向了接口实现类的对象)

多态有两种:引用多态和方法多态。继承是多态的实现基础。

目的

提高代码复用性,向后兼容,可以提高可扩充性和可维护性,降低耦合度。

基本要求

继承
重写
父类引用子类对象

注意

在多态情况下

  1. 子父类存在同名的成员变量时,访问的是父类的成员变量。
  2. 子父类存在同名的非静态的成员函数时,访问的是子类的成员函数。
  3. 子父类存在同名的静态的成员函数时,访问的是父类的成员函数。
  4. 父类不能访问子类特有的成员。

知乎六月余安与本账号同属,转载请标明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

疼疼蛇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值