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

来源:互联网 发布:java mq消息队列 编辑:程序博客网 时间:2024/06/06 11:36

 

这是在看视频的时候,老师讲解的一些我认为需要做笔记的地方,所以就顺带记录了下来,希望能通过这个实例来帮大家区分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);
 }
}

原创粉丝点击