首页 > 其他 > 详细

this super关键字

时间:2021-01-17 19:55:08      阅读:22      评论:0      收藏:0      [点我收藏+]

一  this关键字

this关键字主要有三个应用:

 (1)this调用本类中的属性,也就是类中的成员变量;

 (2)this调用本类中的其他方法;3)返回对象的值

1引用成员变量

技术分享图片

 

 

 

 

 

this关键字字其代表的就是对象中的成员变量或者方法。也就是说如果在某个变量前面加上一个this关键字,指的就是这个对象的成员变量或者方法,而不是指成员方法的形式参数或者局部变量。this.name代表的就是对象中的成员变量,又叫做对象的属性,而后面的name则是方法的形式参数,代码this.name=name就是将形式参数的值传递给成员变量。

2调用类的构造方法

 public class Student { //定义一个类,类的名字为student。

 public Student() { //定义一个方法,名字与类相同故为构造方法 构造方法都不会有返回值,

  this(“Hello!”);

 }

 public Student(String name) { //定义一个带形式参数的构造方法

 }

}

//在构造方法中使this关键字表示调用类中的构造方法。如果一个类中有多个构造方法,因为其名字都相同,跟类名一致,都是通过形式参数来调用构造方法的如上例中,this关键字后面加上了一个参数,那么就表示其引用的是带参数的构造方法Java编译器会根据所传递的参数数量的不同,来判断该调用哪个构造方法。

 不过如果要使用这种方式来调用构造方法的话,有一个语法上的限制。一般来说,利用this关键字来调用构造方法,只有在无参数构造方法中第一句使用this调用有参数的构造方法。

3 返回对象的值

 this关键字除了可以引用变量或者成员方法之外,还有一个重大的作用就是返回类的引用。如在代码中,可以使用return this,来返回某个类的引用。此时这个this关键字就代表类的名称。如代码在上面student类中,那么代码代表的含义就是return student。可见,这个this关键字除了可以引用变量或者成员方法之外,还可以作为类的返回值,这才是this关键字最引人注意的地方。

二 super关键字

 调用父类构造方法

 

package demo1;
public class Child extends Father{
int num;
public Child() {
super(30);
System.out.println("子类无参构造方法---");
}
public Child(int num) {
this.num = num;
System.out.println("子类中的有参的构造方法---"+num);
}
}
public class Father {
int num;
public Father() {
System.out.println("父类中的无参构造方法---");
}
public Father(int num){
System.out.println("父类中的有参的构造方法----"+num);
}
}
public class Test {

public static void main(String[] args) {
Child child = new Child();
}
}

 注意:

1  super调用父类的构造方法,必须在构造方法的第一个

2  super必须只能出现在子类的方法或者构造方法中

superthis不能同时调用构造方法

 Superthis的区别

 

1 代表的对象不同

This:本身调用者这个对象

Super:代表父类对象的引用

 2 前提

This:没有继承也可使用

Super:只能在继承条件下才可以使用

3 构造方法

 This();本类的构造

 Super():父类的构造

this super关键字

原文:https://www.cnblogs.com/lp19990215/p/14289537.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!