this和super的通俗理解

1、this关键字

1.1、this的作用

  • 调用属性
  • 调用方法
  • 代表当前对象(实质)

1.2、概念

this是自身的一个对象,通常代表对象本身,是对象的一个替代品。

举个例子:

车厘子和樱桃。

1.3、this的用法

1.3.1、直接引用
private String name;
private int age;public Father(String name, int age) {super();this.name = name;this.age = age;}
1.3.2、方法的形参和成员变量名称相同,this用来区分
public class This {  private int age = 18;public This() {System.out.println("c成员变量初始化:"+age);}public int getAge(int age) {this.age = age;//这里的age是形参,将形参的值赋给成员变量(this.age)return this.age;}public static void main(String[] args) {This is = new This();System.out.println("对象is的age是:"+is.getAge(20));}}
//c成员变量初始化:18
//对象is的age是:20
1.3.3、引用构造函数

调用本类中另外一种形式的构造函数。

 private int age = 18;public This() {System.out.println("c成员变量初始化:"+age);}public This(int age) {this();//调用无参构造this.age = age;}

2、super

2.1、直接引用

直接引用是指向当前对象的父类,使用形式:

super.xxxx   引用父类的成员变量或者方法

2.2、子类中的成员变量或者方法与父类中的成员变量或者方法同名

使用super来调用父类中的成员或者方法。

2.3、引用构造函数

super():调用父类中的构造函数中的其中一个。

比如:

super()   //调用父类中的无参构造
super(name)  //调用父类中形参只为name的构造函数

3、this和super的异同点

this super
作用 访问本类实例的属性和方法 子类访问父类的实例的属性和方法
查找范围 先找本类,再找父类 直接找父类
实质 代表当前对象 子类重写父类的方法时,访问父类同名方法
相同点 都是关键字,在构造方法中都必须是第一行

this和super的区别:相关推荐

  1. this和super的区别

    this和super的区别? 分别是什么呢? this代表本类对应的引用. super代表父类存储空间的标识(可以理解为父类引用,可以操作父类的成员) 子类中所有的构造方法默认都会访问父类中空参数的构 ...

  2. 【Java】泛型中 extends 和 super 的区别?

    <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. ...

  3. python3类的继承详解_python3中类的继承以及self和super的区别详解

    python中类的继承: 子类继承父类,及子类拥有了父类的 属性 和 方法. python中类的初始化都是__init__().所以父类和子类的初始化方式都是__init__(),但是如果子类初始化时 ...

  4. Java基础之this关键字和super关键字区别

    this关键字和super关键字区别 » this关键字 ■ 代表当前这个对象 ■ this可以访问本类中的实例变量.实例方法也可以方法本类中的其他构造方法 ■ this还可以访问父类中的实例变量.实 ...

  5. Object-C中self和super的区别

    self与super的区别 原文CSDN evilotus 有所整理 **** 在ObjC中的类实现中经常看到这两个关键字"self"和"super",以以前o ...

  6. ? extends E 和 ? super E 区别和使用

    <? extends E>和<? super E>区别和使用 先看代码,在这类定义一下类的继承关系 class World { }class Person extends Wo ...

  7. 第三周 Java语法总结__static关键字__代码块__继承__this和super的区别__重写__final关键字__多态__抽象__接口__形参问题__包__权限修饰符__内部类

    文章目录 6.static关键字 1)静态static关键字的特点: 2)关于static关键字的使用注意事项 3)什么时候将变量定义为成员变量: 7.文档说明书: 8.代码块 9.继承 1)继承的概 ...

  8. Java中this与super的区别

    2019独角兽企业重金招聘Python工程师标准>>> this与super关键字在java中构造函数中的应用:  ** super()函数 **  super()函数在子类构造函数 ...

  9. android super this区别

    参考http://blog.163.com/qq3076169@126/blog/static/1717240672012620111028892/ 为什么要使用this,简单讲,就是方法中的某个形参 ...

  10. Java泛型中extends和super的区别?

    区别 <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概 ...

最新文章

  1. 零基础入门学习Python(16)-函数1,Python的乐高积木
  2. water-and-jug-problem
  3. 也谈.net加密解密
  4. ML之Hierarchical clustering:利用层次聚类算法来把100张图片自动分成红绿蓝三种色调
  5. JavaWeb 入门篇(1)Maven创建Web项目 Idea配置tomcat
  6. web安全之点击劫持攻击(clickjack)
  7. 今日arXiv精选 | 34篇顶会论文:CIKM/ ACL/ Interspeech/ ICCV/ ACM MM
  8. 笔记:企业内部因素评价
  9. ASP.NET Core 中文文档 第二章 指南(4.10)检查自动生成的Detail方法和Delete方法
  10. 第二模块:函数编程 第1章·文件处理、函数、装饰器、迭代器、内置方法
  11. 让华泰浮盈10亿美金的AssetMark-统包资产管理平台价值几何?
  12. 简述多媒体计算机的特点,多媒体技术的主要特点
  13. Qt 使用阿里图标库
  14. matlab改主题的命令schemer
  15. SVN版本库修改URL路径或者IP地址
  16. 一般常见电子邮箱都有哪几种?最常用的邮箱有哪些?
  17. 309. Best Time to Buy and Sell Stock with Cooldown**
  18. 蒲公英 · JELLY技术周刊 Vol.33: 前端基础课堂开课啦~
  19. 所需即所获:IDE = _plugins_ + vim
  20. C语言中 sqrt(); 函数的最全用法总结,最全!!!

热门文章

  1. 空调噪音测试软件,检测空调噪音的四种方法
  2. LayUI中的基本元素之 日期和时间组件文档
  3. opencv入门跟踪算法(3)之camshift
  4. 教你搭建局域网影吧vod点播系统
  5. Unity内存优化经验分享
  6. 阿里邮箱/网易邮箱个人版设置POP3使用
  7. excel相乘再相加_EXCEL数组计算【SUMPRODUCT】多条件相乘再相加
  8. 三校生计算机题目及答案,“三校生”对口升学计算机应用试卷计算机基础知识(含答案)...
  9. java 算法之找出数组中第二大的数
  10. LabVIEW调用第三方exe软件或操作操作控制第三方软件界面的控件,如操控烧录软件