this关键字和super关键字的用法

1.this关键字

1)说明:this关键字用于表示本类当前对象(成员变量,成员方法),当前对象不是某个new出来的实体对象,而是当前正在编辑的类,this关键字只能在本类中使用。虽然我们知道this可以调用成员变量和成员方法,但Java语言中最常规的调用方式是使用“对象.成员变量(或方法)"进行调用。

(2)在局部变量或方法参数覆盖了成员变量时,添加this关键字明确引用的是类成员还是局部变量或是方法参数。

 

ps:在Java语言中每实例化一次对象,都会自动调用一次构造方法。

 

public class Test05 {

public String name;

private int age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

//若没有关键字this,则变成this=this,这里的this指的都是局部变量,添加this后就升格为类变量

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

(3)通过this关键字可以调用成员方法或成员变量(一般省略this)

 
package two0116;

public class Test05 {

public String name;

private int age;

public void siHI(){

System.out.println("Hi~");

}

public void method(){

this.siHI();

siHI(); //11和12行均可

}

}

(4)仅在构造方法中访问构造方法使用this(参数1,参数2......);

 
public class Test05 {

public String name="zhang san";

private int age;

public Test05() {

System.out.println("我是无参构造");

}

public Test05(String name, int age) {

this();

this.name = name;

this.age = age;

System.out.println("我是有参构造");

}

public static void main(String[] args) {

new Test05("123",12);

}

}

// 结果为

// 我是无参构造

// 我是有参构造

注意事项:

(—):只能在构造方法内部用this调用构造方法,且this应放在构造方法内的第一行且只能出现一次。

(二):不能在一个类中的两个构造方法中(有参和无参构造)都用this(参数);互相调用,这样会陷入死循环。

(5)this可作为方法的返回值,例如返回图书类本类的对象

 
public Book getBook(){

return this; //返回Book类的本类对象

}

人类完整版

 
public class People {

String name;

int age;

public People() {

}

public People(String name, int age) {

this.name = name;

this.age = age;

}

public People getPeople(){

return this;

}

public void say(){

System.out.println("*****");

}

}
 

2.super关键字

成员变量

this.成员变量 - 访问本类成员变量

super.成员变量 -访问父类成员变量

成员方法

this.成员方法 - 访问本类成员方法

super.成员方法 -访问父类成员方法

构造方法

在构造方法内第一行 this(有参或空参) -访问本类构造方法

在子类构造方法内第一行 super(有参或空参) -访问父类构造方法

ps:this和super很像;参照着来准没错

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值