乐趣区

关于java:继承关系里面this到底代表的是谁

继承关系外面 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 关键字, 并不代表以后所在的类, 代表的是实例对象的类

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