文档章节

java中super和this

Yemon
 Yemon
发布于 2016/05/17 10:32
字数 392
阅读 1
收藏 0
    super代表的是父类、超类,用在继承中的子类中;this代表对象本身,用在本类中。
    super访问的是被子类隐藏的父类的属性或被覆盖的方法,而this访问的是同一类中的成员。
    super调用的是父类中的某一个构造函数,而this调用的是本类中其他的构造函数。
    super和this都需要位于构造器执行体的第一行,否则编译不通过。但是他们两个不能同时存在,因为this要调用其他的构造函数,而其他的构造函数也有super语句,这就形成了冲突,编译不过。
    用this可以调用一个构造器,不可以调用两个。
    如果子类中没有显示调用父类的任何构造器(任何super和this的形式),系统会默认调用父类无参构造,如果父类没有无参构造,那么就会编译出错。
    super调用的父类方法或属性,必须是public或者protect的,否则因为访问权限的问题也会出错。
    this解决变量命名冲突和不确定性的问题,例如参数名和变量名相同的时候,需要使用this来区分。
    直接用this()加上参数就可以调用对应参数的类构造器,用此方式最多可以调用一次其他构造器。
    this最大的作用就是在一个方法中调用同类中的其他方法和属性。

本文转载自:http://blog.csdn.net/hj7jay/article/details/51119976

共有 人打赏支持
Yemon
粉丝 10
博文 322
码字总数 23853
作品 0
广州
架构师
私信 提问
Kotlin和Java混合开发必读:基本的互操作

在使用Kotlin和Java混合开发的时候,涉及到一些基本的互操作 一、属性的读写 1.Kotlin自动识别Java的属性的Getter和Setter 2.Java操作kotlin属性可以通过Getter和Setter的方式 二、空安全类型...

王木东
04/05
0
0
ASMSupport教程4:动态生成类

有一段时间没有写blog了,主要原因是前段时间去西安旅游了。好了进入正题。这个篇blog将学习到如何生成一个Class。并且在这个Class中添加局部变量和各种类型的方法。 首先我们看下要生成的c...

Erroooooor
2013/04/05
0
7
理解Java 泛型 : 和

在工作中使用<? extends T>是很常见的。那么在使用add方法的时候(List <? extends T>),是不是发现在编译的时候就会报错。为什么,这是我和同事同时发出的疑问。这看来还是我们对JAVA的泛...

jishuai
2017/11/06
0
0
Java 语言中的实例初始化块 ( IIB) 详解

在 Java 语言中的类初始化块 文章中我们简单的介绍了下 Java 中的实例初始化块 ( IIB )。不过我觉得介绍的有点简单了,于是,再写一篇文章详细介绍下吧。 Java 语言中,存在三种操作:方法 ...

beves
10/14
0
0
JVM第三天 Java Class File structure

Reference: http://viralpatel.net/blogs/tutorial-java-class-file-format-revealed/ A Java class file is consist of 10 basic sections: 1.Magic Number: 0xCAFEBABE 2.Version of Class......

Kerry_Han
2014/03/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

VMware前路难测,多个厂家群雄逐鹿

在人们高谈Salesforce、亚马逊等新兴云计算厂商取得的成就时,以VMware、HPE和Cisco为代表的老牌厂商也在进行着自己的转型和变化,而且还取得一定的进展。以VMware为例,虚拟机巨头公布了第二...

linux-tao
13分钟前
0
0
Palindrome Linked List(leetcode234)

Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2Output: false Example 2: Input: 1->2->2->1Output: true Follow up: Could you do it in O(n) ......

woshixin
15分钟前
0
0
【宇润日常疯测-003】PHP 序列化和 JSON 哪个更好?

有了 Swoole 以后,用我们熟悉的 PHP 就可以很方便地开发网络通信应用。有时候我们系统内部需要交换数据,那么,这时候问题来了,网络通讯的数据格式是选择 JSON 还是 serialize 呢? 一通分...

宇润
16分钟前
1
0
mybatis批量操作sql配置

在写批量sql操作时,遇到执行报错: <foreach collection="list" item="item" index="index" separator=";"> update t_xxx set column1=#{item.column1} where id= #{item.id} </foreach> 分......

lar555
28分钟前
2
0
L2TP VPN客户端配置

打开网络设置-->选择VPN-->添加VPN链接 配置完毕,打开更改适配器选项 右键-->属性 选中安全---允许使用安全协议,确定保存后连接vpn即可

阿伦哥-
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部