----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
这是在看视频的时候,老师讲解的一些我认为需要做笔记的地方,所以就顺带记录了下来,希望能通过这个实例来帮大家区分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);
}
}
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------