在看集合源码的时候,因为对一些知识点有些混淆,导致看源码比较吃力。所以重新回顾一下面向对象的继承和多态,顺便记录一下重点。
继承
-
子类会继承父类的所有属性和方法,但私有属性和方法在子类不能直接访问,需要通过父类提供的公共方法访问;
-
子类必须调用父类的构造器,完成父类的初始化(创建子类对象时会调用父类的无参构造器,其实在子类的无参构造方法的第一行默认有
super()
); -
创建子类对象时,不管子类使用有参构造还是无参构造,默认情况下总会去调用父类的无参构造。如果父类没有写无参构造器(当父类写了有参构造器而没写无参构造器,那么无参构造器就没有了),那么子类的构造器要用
super()
指定使用父类的什么构造器,否则编译不通过; -
如果想要指定调用父类的某个构造器,则需要用
super()
显式调用。调用super()
时必须要放在第一行,而this()
也是必须放在第一行,所以这两个方法只能用一个,不能共存; -
Object类是所有类的父类,因此创建子类对象调用父类构造器时,会一直向上追溯到Object类。
后续还会继续更新总结多态的知识重点
有不懂的地方可以在下面评论,随时交流~
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)