this和super关键字的使用和说明
创始人
2024-04-28 18:17:16
0

this关键字

  • this 关键字的使用
          • 1. this 关键字用途
          • 2. this 修饰属性和方法
          • 3.this 调用构造器
  • super 关键字的使用
          • 1.super 关键字用途
          • 2.super 的使用
          • 3.super 调用构造器
          • 4.子类对象实例化的全过程

this 关键字的使用

1. this 关键字用途
            用来修饰、调用:属性、方法、构造器
2. this 修饰属性和方法
 			this 理解为:当前对象 , 或当前正在创建的对象。
  • ①在类的方法中,我们可以使用 "this. 属性 " 或 "this. 方法 " 的方式,调用当前对象属性或方法。
  • ②通常情况下,我们都选择省略“this.”。特殊情况下,如果方法的形 参和类的属性同名,我们必须显式的使用 "this. 变量 "的方式,表明此变量 是属性,而非形参。
  • ③在类的构造器中,我们可以使用 "this. 属性 " 或 "this. 方法 " 的方式, 调用正在创建的对象属性和方法。
  • ④但是,通常情况下,我们都选择省略“this.”。特殊情况下,如果构 造器的形参和类的属性同名,我们必须显式的使用 "this. 变量 " 的方式,表明此变量是属性,而非形参。
3.this 调用构造器
  • ①.我们可以在类的构造器中,显式的使用 " this( 形参列表 ) " 的方式, 调用本类中重载的其他的构造器!

  • ② 构造器中不能通过 "this ( 形参列表 ) " 的方式调用自己。

  • 如果一个类中有 n 个构造器,则最多有 n -1 个构造器中使用了 "this (形参列表 ) "。

  • 规定: " this( 形参列表 ) " 必须声明在类的构造器的首行

  • ⑤ 在类的一个构造器中,最多只能声明一个"this( 形参列表 )",用来调用其他构造器。

super 关键字的使用

	super 理解为:父类的。
1.super 关键字用途
    可以用来调用:属性、方法、构造器 。
2.super 的使用
  • 2.1 我们可以在子类的方法或构造器中,通过 "super. 属性 " 或 “super.方法 " 的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯去省略这个"super.”
  • 2.2 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显示的 使用 "super. 属性 " 的方式,表明调用的是父类中声明的属性。
  • 2.3 特殊情况:当子类重写了父类中的方法后,我们想在子类的方法中调用父类中被重写的方法时,必须显示的使用 "super. 方法 " 的方式,表明调用的是父类中被重写的方法。
3.super 调用构造器
  • 3.1 我们可以在子类的构造器中显示的使用 “super( 形参列表 )” 的方式 ,调用父类中声明的指定的构造器。
  • 3.2 super( 形参列表 )” 的使用,必须声明在子类构造器的首行!
  • 3.3 我们在类的构造器中,针对于 “this( 形参列表 )” 或 "super( 形参列表 )"只能二选一,不能同时出现。
  • 3.4 在构造器的首行,既没有显式的声明 “this( 形参列表 )” 或 “super( 形参列表 )”,则默认的调用的是父类中的空参构造器。super()
  • 3.5 在类的多个构造器中,至少有一个类的构造器使用了 “super( 形参
    列表 )”, 调用父类中的构造器。
4.子类对象实例化的全过程
    1. 从结果上看 :
      子类继承父类以后,就获取了父类中声明的属性或方法。
      创建子类的对象中,在堆空间中,就会加载所有父类中声明的属性。
    1. 从过程上看 :
      当我们通过子类的构造器创建子类对象时 , 我们一定会直接或间接的调用其父类构造器,直到调用了 java.lang.Object 类中空参的构造器为止。正因为加载过所有的父类结构,所以才可以看到内存中有父类中的结构,子类对象可以考虑进行调用。

明确 : 虽然创建子类对象时,调用了父类的构造器,但自始至终就创建过一个对象,即为 new 的子类对象

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...