Java基础系列--this、super关键字
2018-02-28 14:53
399 查看
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8483623.html
一、概述
Java中this有两种用途,一种是用于指代当前对象,一种适用于指代构造器,当前类的构造器。
super就专用于指代构造器,而且是超类的构造器。
this关键字和super关键字关联之处来与二者皆可用于构造器中来调用其他构造器。
二、this作用
2.1 指代当前对象
this指代当前对象时,是属于对象级别的存在,不可用于类级别的内容(静态内容)中。
this多用于变量名与参数名称存在冲突时,用于区分对象的变量与参数。下面代码第9行的this就是这个用途。
2.2 指代构造器
this指代构造器的时候,只能指代当前类的中的构造器,而且只能写在构造器中,且位于第一行,不能与super同时出现。
无参表示调用无参构造器,带参数表示调用指定参数构造器。
三、super作用
super类似于this第二个作用,不过它由于指代父类的构造器。
注意,如果父类中无无参构造器,那么子类中也不应该存在无参构造器。
super的用法和this类似。
一、概述
Java中this有两种用途,一种是用于指代当前对象,一种适用于指代构造器,当前类的构造器。
super就专用于指代构造器,而且是超类的构造器。
this关键字和super关键字关联之处来与二者皆可用于构造器中来调用其他构造器。
二、this作用
2.1 指代当前对象
this指代当前对象时,是属于对象级别的存在,不可用于类级别的内容(静态内容)中。
this多用于变量名与参数名称存在冲突时,用于区分对象的变量与参数。下面代码第9行的this就是这个用途。
1 public class ThisTest { 2 private String name; 3 4 public String getName() { 5 return name; 6 } 7 8 public void setName(String name) { 9 this.name = name; 10 } 11 }
2.2 指代构造器
this指代构造器的时候,只能指代当前类的中的构造器,而且只能写在构造器中,且位于第一行,不能与super同时出现。
1 public class ThisTest { 2 public ThisTest(){} 3 public ThisTest(int i){ 4 this(); 5 } 6 public ThisTest(int i,int j){ 7 this(i); 8 } 9 }
无参表示调用无参构造器,带参数表示调用指定参数构造器。
三、super作用
super类似于this第二个作用,不过它由于指代父类的构造器。
1 class Father{ 2 Father(){} 3 Father(String name){ 4 this(); 5 } 6 } 7 class Son extends Father{ 8 Son(){ 9 super(); 10 } 11 Son(String name){ 12 super(name); 13 } 14 }
注意,如果父类中无无参构造器,那么子类中也不应该存在无参构造器。
super的用法和this类似。
相关文章推荐
- 黑马程序员_Java基础_this,super,static,final关键字
- 【Java基础知识】继承体系中的成员关系,this,super关键字的使用,数据初始化
- 黑马程序员--java基础--关键字this和super
- java基础---Java关键字this与super
- JAVA基础_简析Java中的new,this,super,final关键字
- 黑马程序员——Java基础---this和super关键字
- java基础关键字之this 和 super Object 和包装类
- Java基础之六:关键字this、super、static
- java基础--super和 this、Override与Overroad关键字区别
- Java基础进阶_day02_(类的组合,继承,this与super关键字)
- java基础复习总结之this和super关键字
- JAVA基础--关键字 final/static/this/super
- JAVA基础--关键字 final 、static、this、super
- java基础9 main函数、this、static、super、final、instanceof 关键字
- java基础(3)__this,super关键字的用法
- Java 基础—— super关键字学习以及super与this的比较
- Java中的关键字Super和This的用法
- JAVA中this与super两个关键字的用法
- java基础11 继承(super、extends关键字和重写,这三个要素出现的前提:必须存在继承关系)
- Java关键字介绍之this与super