-
Java 继承的重点(一定要掌握)
在看集合源码的时候,因为对一些知识点有些混淆,导致看源码比较吃力。所以重新回顾一下面向对象的继承和多态,顺便记录一下重点。
继承
-
子类会继承父类的所有属性和方法,但私有属性和方法在子类不能直接访问,需要通过父类提供的公共方法访问;
-
子类必须调用父类的构造器,完成父类的初始化(创建子类对象时会调用父类的无参构造器,其实在子类的无参构造方法的第一行默认有
super()
); -
创建子类对象时,不管子类使用有参构造还是无参构造,默认情况下总会去调用父类的无参构造。如果父类没有写无参构造器(当父类写了有参构造器而没写无参构造器,那么无参构造器就没有了),那么子类的构造器要用
super()
指定使用父类的什么构造器,否则编译不通过; -
如果想要指定调用父类的某个构造器,则需要用
super()
显式调用。调用super()
时必须要放在第一行,而this()
也是必须放在第一行,所以这两个方法只能用一个,不能共存; -
Object类是所有类的父类,因此创建子类对象调用父类构造器时,会一直向上追溯到Object类;
-
当子类对象访问某个属性/方法时:
(1) 首先看子类对象本身有没有该属性/方法,如果有并且是可以访问的,那么直接访问
(2) 如果子类没有该属性/方法,看父类有没有该属性/方法,如果父类有并且是可以访问的,那么就访问
(3) 同理,如果父类也没有,则一直向上找,直到Object类
后续还会继续更新总结多态的知识重点
有不懂的地方可以在下面评论,随时交流~
出处:https://www.cnblogs.com/ivanchenyx/p/16890333.html
栏目列表
最新更新
一个超经典 WinForm 卡死问题的再反思
C# 计算不规则多边形的相交/包含等关系
.NET Core 引发的异常:“sqlsugar.sqlsugarexcep
快速创建软件安装包-ClickOnce
nuget打包静态资源的问题
要写文档了,emmm,先写个文档工具吧——
乘风破浪,遇见最佳跨平台跨终端框架
【Windows版本控制】上海道宁为您提供Vi
available 处理办法
Visual Studio自定义背景图片
三大常用数据库事务详解之三:事务运行
三大常用关系型数据库事务详解之二:基
三大关系型数据库事务详解之一:基本概
MongoDB常用命令(2)
MongoDB基本介绍与安装(1)
SQLServer触发器调用JavaWeb接口
SQL Server索引的原理深入解析
SqlServer2016模糊匹配的三种方式及效率问题
SQL中Truncate的用法
sqlserver 多表关联时在where语句中慎用tri
在vscode中使用R时,用快捷键来快捷键入卡
VB.NET中如何快速访问注册表
ASP.NET中图象处理过程详解
Vue(1)Vue安装与使用
JavaScript 语言入门
js将一段字符串的首字母转成大写
纯原生html编写的h5视频播放器
H5仿原生app短信验证码vue2.0组件附源码地
TypeScript(4)接口
TypeScript(3)基础类型