关于this和super关键字的一点整理

 

这是在看视频的时候,老师讲解的一些我认为需要做笔记的地方,所以就顺带记录了下来,希望能通过这个实例来帮大家区分this和super的区别,还望大家多提意见。注意看注释部分的内容:

/*

如果子类中出现非私有的同名成员变量时,
子类要访问本类中的变量,用this
子类要访问父类中的同名变量,用super

super的使用和this的使用几乎一致。
this代表的是本类对象的引用。
super代表的是父类对象的引用。

*/

class Fu
{
 private int num = 4;
 public void setNum(int num)
 {
  this.num = num;
 }
 public void getNum()
 {
  return this.num;
 }
}

class Zi extend Fu
{
 //如果把 int num = 5注释掉,打印的时候加上this打印的是4,而不是5,
 //因为此时this和super引用同时指向同一个对象new Zi()
 int num =5; 

 int show()
 {
  //this代表本类对象的引用,super代表父类对象的引用
  //如果想打印5,则加上this,想打印4,就加上super6,如果父类是私有,就不能访问了
  System.out.println(super.num);
 }
}


class  ExtendsDemo2
{
 public static void main(String[] args)
 {
  Zi.z = new Zi()
   z.show();

  //System.out.println(z.num+"--------"+z.num);
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值