面向对象的特征有哪些方面

抽象:将一类事务的共同特征总结出来构造类的过程(抽象出类的属性和行为)

继承:由已有的类产生新类的过程,让某个类型的对象获得另一个类型的对象的属性和方法,实现方式有两种:

  1. 实现继承:直接使用基类的属性和方法,无需额外编码
    抽象类的继承必须实现抽象方法,其他类的继承也可对父类方法进行重写
public class A extends B{

}
  1. 接口继承:使用属性和方法的名称,子类必须提供具体的实现
public class A implements B{

} 

封装:隐藏对象的属性和实现细节,仅对外提供必要的访问接口
封装原则

  1. 将不需要对外提供的内容都隐藏起来
  2. 把所有属性隐藏起来,对外提供公共接口(get()、set()方法)

多态性:允许不同类型的对象对同一消息作出不同的响应(重写),也允许同一对象根据自身条件的不同对同一消息作出不同的响应(重载)

  1. 方法的重载和重写(覆盖)
    重载和重写的区别:
    • 重载是静态多态,同名方法,不同参数列表(参数个数、顺序、类型),是对同一个类中的方法实现态,不同参数执行不同方法。
    • 重写是动态多态,子类重写父类的方法,必须同名,同参数,重写时必定存在继承,没有继承就没有重写。
    • -

注意:

  • private方法不能重写,final 方法不能重写
  • 子类重写方法的权限>=父类中的访问权限(权限顺序:public>protected>默认>private)
  • 重写方法不能抛出新的异常或者比重写方法声明更加宽泛的异常(例:父类抛出IOException,则子类不能抛出Exception,只能抛出IOException及其子异常)
  • 重载方法必须改变参数列表,不能以返回类型作为区分标准

类型参数列表返回类型异常访问权限
重载必须修改可以修改可以修改可以修改
重写不能修改不能修改减少或删除(不能扩大)不能降低

1. 用父类的引用指向子类的具体实现,可随时更换为其他子类
对象转型:
父类引用指向子类对象——安全
子类引用指向父类对象——不安全(运行报错)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值