继承关系外面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@6e0be858zi.show被调用.............0num数值:8com.xrluo.type09.Zi@6e0be858zi.show被调用.............8new 的父类===========================================================>com.xrluo.type09.Fu@61bbe9bafu.show被调用...........com.xrluo.type09.Fu@61bbe9bacom.xrluo.type09.Fu@61bbe9bafu.show被调用...........com.xrluo.type09.Fu@61bbe9baProcess finished with exit code 0

3. 总结

类外面的this关键字,并不代表以后所在的类,代表的是实例对象的类

  1. new的是子类的话,this代表的是子类对象.
  2. new的是本类的话,this代表的就是以后所在类.