this和super的区别:
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的区别:相关推荐
- this和super的区别
this和super的区别? 分别是什么呢? this代表本类对应的引用. super代表父类存储空间的标识(可以理解为父类引用,可以操作父类的成员) 子类中所有的构造方法默认都会访问父类中空参数的构 ...
- 【Java】泛型中 extends 和 super 的区别?
<? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. ...
- python3类的继承详解_python3中类的继承以及self和super的区别详解
python中类的继承: 子类继承父类,及子类拥有了父类的 属性 和 方法. python中类的初始化都是__init__().所以父类和子类的初始化方式都是__init__(),但是如果子类初始化时 ...
- Java基础之this关键字和super关键字区别
this关键字和super关键字区别 » this关键字 ■ 代表当前这个对象 ■ this可以访问本类中的实例变量.实例方法也可以方法本类中的其他构造方法 ■ this还可以访问父类中的实例变量.实 ...
- Object-C中self和super的区别
self与super的区别 原文CSDN evilotus 有所整理 **** 在ObjC中的类实现中经常看到这两个关键字"self"和"super",以以前o ...
- ? extends E 和 ? super E 区别和使用
<? extends E>和<? super E>区别和使用 先看代码,在这类定义一下类的继承关系 class World { }class Person extends Wo ...
- 第三周 Java语法总结__static关键字__代码块__继承__this和super的区别__重写__final关键字__多态__抽象__接口__形参问题__包__权限修饰符__内部类
文章目录 6.static关键字 1)静态static关键字的特点: 2)关于static关键字的使用注意事项 3)什么时候将变量定义为成员变量: 7.文档说明书: 8.代码块 9.继承 1)继承的概 ...
- Java中this与super的区别
2019独角兽企业重金招聘Python工程师标准>>> this与super关键字在java中构造函数中的应用: ** super()函数 ** super()函数在子类构造函数 ...
- android super this区别
参考http://blog.163.com/qq3076169@126/blog/static/1717240672012620111028892/ 为什么要使用this,简单讲,就是方法中的某个形参 ...
- Java泛型中extends和super的区别?
区别 <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概 ...
最新文章
- 零基础入门学习Python(16)-函数1,Python的乐高积木
- water-and-jug-problem
- 也谈.net加密解密
- ML之Hierarchical clustering:利用层次聚类算法来把100张图片自动分成红绿蓝三种色调
- JavaWeb 入门篇(1)Maven创建Web项目 Idea配置tomcat
- web安全之点击劫持攻击(clickjack)
- 今日arXiv精选 | 34篇顶会论文:CIKM/ ACL/ Interspeech/ ICCV/ ACM MM
- 笔记:企业内部因素评价
- ASP.NET Core 中文文档 第二章 指南(4.10)检查自动生成的Detail方法和Delete方法
- 第二模块:函数编程 第1章·文件处理、函数、装饰器、迭代器、内置方法
- 让华泰浮盈10亿美金的AssetMark-统包资产管理平台价值几何?
- 简述多媒体计算机的特点,多媒体技术的主要特点
- Qt 使用阿里图标库
- matlab改主题的命令schemer
- SVN版本库修改URL路径或者IP地址
- 一般常见电子邮箱都有哪几种?最常用的邮箱有哪些?
- 309. Best Time to Buy and Sell Stock with Cooldown**
- 蒲公英 · JELLY技术周刊 Vol.33: 前端基础课堂开课啦~
- 所需即所获:IDE = _plugins_ + vim
- C语言中 sqrt(); 函数的最全用法总结,最全!!!
热门文章
- 空调噪音测试软件,检测空调噪音的四种方法
- LayUI中的基本元素之 日期和时间组件文档
- opencv入门跟踪算法(3)之camshift
- 教你搭建局域网影吧vod点播系统
- Unity内存优化经验分享
- 阿里邮箱/网易邮箱个人版设置POP3使用
- excel相乘再相加_EXCEL数组计算【SUMPRODUCT】多条件相乘再相加
- 三校生计算机题目及答案,“三校生”对口升学计算机应用试卷计算机基础知识(含答案)...
- java 算法之找出数组中第二大的数
- LabVIEW调用第三方exe软件或操作操作控制第三方软件界面的控件,如操控烧录软件