第七章面向对象编程

类,接口,抽象类,对象这些可以参考《On java8》(PS:github上有免费的)

Overloading 和 overridden的区别(方法多态)

  • overload在编译阶段时决定要具体执行哪个方法,属于静态检查
  • overridden methods在运行时检查,属于动态检查
  • 要调用的方法的哪个overridden版本是在运行时基于对象类型决定的,但是要调用的方法的哪个Overloading版本是基于编译时传递的参数的引用类型

泛型(参数多态)

通配符 :?只在使用泛型的时候出现,不能在定义中出现

只能是T以及T的子类,只能是T以及T的父类 Java在运行的时候泛型将被擦除,因此不可以使用instanceof来检查泛型。 ### Subtyping Polymorphism(子类型多态) java中的继承是单继承。因此一个父类可以有多个子类。 lsp替换原则: 若对每个类型S的对象o1,都存在一个类型T的对象o2,使得在所有针对T编写的程序P中,用o1替换o2后,程序P行为功能不变,则S是T的子类型。
posted on 2021-07-07 15:00  pluschen2000  阅读(33)  评论(0)    收藏  举报