面向对象三大特征

封装

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

优点

  1. 良好的封装能够减少耦合,封装体真正"独立"。
  2. 类内部的结构可以自由修改。
  3. 可以对成员变量进行更精确的控制。
  4. 隐藏信息,实现细节。

封装过程

  1. 属性私有化,private进行修饰。
  2. 设置操作属性的唯一方法途径,这种方法就成为封装类的一层安全过滤网!

在这里插入图片描述

继承

A is a B : A继承B
A has a B : B是A的一属性

只记这一点:
1. 只有私有修饰和构造方法不能继承(当然除过final!属性也被继承了)
2. static属于类成员,不存在继承(但是可以子类.父类的静态方法)当然子类可以遮蔽父类static字段或者方法
在这里插入图片描述

继承:
在这里插入图片描述在这里插入图片描述覆盖不涉及属性(右键source/Override):
在这里插入图片描述

多态

两种多态机制:覆盖、重载
在这里插入图片描述

案例解析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

内存分析:

在这里插入图片描述报错分析:
编译器只检查语法(很单纯 很执着)
a2是Animal类型 于是 编译器去方法区内存中的Animal.class中寻找chaseMouse()方法,没有找到 报错!

重要异常

类转换异常:java.lang.ClassCastException
在这里插入图片描述

instanceof运算符

注意:子类 instanceof 父类 ===> true
但 子类.getClass() == 父类.getClass() ==> false
接口其实也是个父类!也可以: 子类 instanceof 接口
instance: 实例
在这里插入图片描述
在这里插入图片描述

编程思想(重要)

多态理念:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
实质是利用 多态的 “自动向上转型” 实现面向抽象编程:

public void feed(Pet pet = new Cat() ){ ......}

用来被继承的父类(抽象):

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值