封装、继承、多态

封装

  • 提高程序的安全性,保护数据
  • 隐藏代码的实现细节
  • 统一接口
  • 提高系统的可维护性

属性私有(privite),get/set。

继承

  • super:调用父类的属性或方法。
    • super调用父类的构造器,必须放在子类构造器的第一行。(不写的话默认调用)
    • super必须只能出现在子类的方法或构造方法中。
    • super和this不能同时调用构造方法。
    • 与this的区别:
      • 代表对象不同:
        • this:本身调用者这个对象
        • super:代表父类对象的应用
      • 前提
        • this:没有继承可以使用
        • super:只能在继承条件才可以使用
      • 构造方法
        • this():本类的构造
        • super():父类的构造
  • 私有的东西是无法被继承的。
  • 方法重写
    • 需要有继承关系,子类重写父类的方法。
      • 1.方法名必须相同。
      • 2.参数列表必须相同。
      • 3.修饰符:范围可以扩大,但不能缩小。public>protected>default>privite
      • 4.抛出的异常:范围可以被缩小,但不能被扩大。例如:ClassNotFoundException-->Exception
    • 重写,子类和父类的方法名必须一样,方法体可以不同。

多态

  • 一个方法可以根据发送对象的不同而采用多种不同的行为。
  • 一个对象的实际对象是确定的,但可以指向对象的引用类型有很多。(父类或者有关系的类)
  • 多态存在的条件
    • 有继承关系
    • 子类重写父类方法
    • 父类引用指向子类对象
  • 多态是方法的多态,属性没有多态性。
  • instanceof 类型转换(引用类型)
  • 子类能调用的方法,都是自己的或继承的。父类可以指向子类,但不能调用子类独有的方法。

instanceof和类型转换

  • 父类引用指向子类对象。
  • 把子类转换成父类,向上转型;
  • 把父类转换成子类,向下转型:强制转换。(丢失一些子类独有的方法)
  • 方便方法的调用,减少重复的代码。
posted @ 2022-03-26 16:49  格兰芬多剁剁剁  阅读(32)  评论(0)    收藏  举报