继承关系外面 this 到底代表的是谁?
1. 代码
package com.xrluo.type09;
public class Test3
{public static void main(String[] args)
{System.out.println("new 的子类 ============================================================>");
Zi zi = new Zi();
zi.show2();
System.out.println("new 的父类 ===========================================================>");
Fu fu = new Fu();
fu.show2();}
}
class Fu
{Fu()
{System.out.println(this);
show();}
void show()
{System.out.println("fu.show 被调用...........");
System.out.println(this);
}
void show2()
{System.out.println(this);
show();}
}
class Zi extends Fu
{
int num = 8;
Zi()
{System.out.println("num 数值:" + num);
}
void show()
{System.out.println("zi.show 被调用............." + num);
}
}
2. 输入后果
new 的子类 ============================================================>
com.xrluo.type09.Zi@6e0be858
zi.show 被调用.............0
num 数值:8
com.xrluo.type09.Zi@6e0be858
zi.show 被调用.............8
new 的父类 ===========================================================>
com.xrluo.type09.Fu@61bbe9ba
fu.show 被调用...........
com.xrluo.type09.Fu@61bbe9ba
com.xrluo.type09.Fu@61bbe9ba
fu.show 被调用...........
com.xrluo.type09.Fu@61bbe9ba
Process finished with exit code 0
3. 总结
类外面的 this 关键字, 并不代表以后所在的类, 代表的是实例对象的类
- new 的是子类的话,this 代表的是子类对象.
- new 的是本类的话,this 代表的就是以后所在类.