文档章节

java 中this和super关键字

涂涂tutu
 涂涂tutu
发布于 2017/07/25 15:06
字数 575
阅读 3
收藏 0

java中参数分为隐式参数和显式参数。

显式参数分为形参和实参

方法demo中的String类型参数str就是形参,代表着我调用demo方法,需要传入一个String类型的参数。

实际调用demo方法是,传入的String类型的参数“aa”就是一个实参。

如果传入的参数不是String类型的,就会出现异常。提示这个demo方法的参数是String类型的,传入int类型的参数就会报异常。

隐式参数:this和super:

在java中,每一个方法都会有两个隐式参数,分别是this和super,

this在普通方法中代表的是当前对象,this.name就是当前对象中的name属性。

如果在构造方法中,this表示正准备构建的对象,在Demo构造方法中,this代表正准备构建的对象Demo,this.name代表Demo中的name属性。构造方法中的name属性只是一个参数,this.name=name表示当我实例化Demo对象时,把传入的参数赋值给当前Demo对象的name属性。

注意:this不可用于静态方法。

super:超级的意思,在程序中super代表着父类的意思,在java中如果类与类之间没有继承关系,那么所有类都继承的是Object类,Object在java中代表超类的意思。

Demo没有显式 的继承任何类,其实他默认的继承了Object类,Demo类已经继承了Object中所有非私有的方法和属性,toString()方法就是Object中的方法,在Demo中进行重写,super.toString()就是调用Demo的父类Object类中的toString()方法。

实例化Demo1对象后,能调用demo()方法,说明Demo1把Demo的demo()方法继承过来了,可以直接调用并且赋值为李四,所以输出的第一条数据是“李四”,调用demo1的时候

第一句话是super.demo("zhangsan"),表示在子类的方法中使用super关键字调用父类的demo()方法,并且赋值为"zhangsan“,所以第二行输出为zhangsan,当父类的demo 方法执行完后,最后执行的当前方法输出demo1.

最后的输出结果:

 

© 著作权归作者所有

共有 人打赏支持
上一篇: java 中的封装
下一篇: java 重载和重写
涂涂tutu
粉丝 0
博文 8
码字总数 2060
作品 0
程序员
私信 提问
Java编程学习:继承的概念及方法

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰
05/30
0
0
Java学习资料-标识符、关键字

1、标识符 (1)Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。凡是自己可以起名字的地方都叫标识符,都遵守标识符的规则。 (2)Java标识符命名规则: 标识符由字母、下划...

晓阳
2015/01/05
0
0
Java基础笔记 -------------面向对象上(三大特性)

面向对象三个特性:继承(Inheritence)、封装(Encapsulation)、多态(Polymorphism). 1、封装(Encapsulation): 类包含了数据与方法,将数据与方法放在一个类中就构成了封装(一般来说,...

查封炉台
2014/04/21
0
0
Java关键字(六)——super

  在 Java关键字(五)——this 中我们说 this 关键字是表示当前对象的引用。而 Java 中的 super 关键字则是表示 父类对象的引用。   我们分析这句话“父类对象的引用”,那说明我们使用的...

ysocean
06/25
0
0
JavaScript 中的继承:ES3、ES5 和 ES6

选择一种继承方式 JavaScript 是一门动态语言,动态意味着高灵活性,而这尤其可以体现在继承上面。JavaScript 中的继承有很多种实现方式,可以分成下面四类: Mixin 模式,即属性混入,从一个...

天方夜
10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

“敏捷开发”怎么就“敏捷”了

什么是敏捷开发 传统的软件开发过程中,我们往往会针对特定的用户需求,采用“瀑布模型”,从用户的需求开始一步步进行需求分析、软件设计、软件开发、软件测试以及软件交付与维护。 然而,这...

SamYjy
47分钟前
3
0
聊聊我怎么系统学习Linux技能并快速提高的

随着电子信息科技时代的发展,学会使用计算机在我们的生活中成为了必不可少的一项技能。而作为计算机中的三大操作系统之一的Linux更是饱受计算机爱好者们的喜爱。今天我们就来和大家一起聊一...

linuxprobe16
59分钟前
3
0
MySQL专题—— 从认识索引到理解索引【索引优化】

认识索引 认识索引是什么东西非常关键,一个非常恰当的比喻就是书的目录页与书的正文内容之间的关系,为了方便查找书中的内容,通过对内容建立索引形成目录。因此,首先你要明白的一点就是,...

架构师springboot
今天
2
0
Java-怎样构造方法和匿名对象

前言 在编写程序时不安全的初始化会导致程序发生发生重大错误。为了使程序可以被安全地初始化,C++引入了构造器(也可以成为构造方法)的概念,这是一个在创建对象时被自动调用的特殊方法。J...

小刀爱编程
今天
2
0
7、MyBaties 增删改

事务 : 从数据库角度出发,完成业务时需要执行的 SQL 集合,统称一个事务. 1、在 mybatis 中默认是关闭了 JDBC 的自动提交功能 每一个 SqlSession 默认都是不自动提交事务. session.commit()提...

KingFightingAn
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部