java多重继承的this属于谁

原创 2018年04月15日 19:12:19
class C{
    public C() {
        System.out.println("C构造方法");
        this.print(); 
    }
    void print() {
        System.out.println("这是C中的this调用");
    }
}

class B extends C{
    public B() {
        System.out.println("B构造方法");
        this.print();
    }
    void print() {
        System.out.println("这是B中的this调用");
    }
}
class A extends B{
    public A() {
        System.out.println("A构造方法");
        this.print();
    }
    void print(){
        System.out.println("这是A中的this调用");
    }
}


public class test extends A{
    public static void main(String[] args) {
        A a = new A();
    }
}

就这么一看,先调用C构造方法,再调用B构造方法,最后调用A构造方法,可是C、B构造方法和A构造方法中都有this,难道是C里面的this是C对象,B里面的this是B对象,A里面的this是A对象?

看一下运行结果


结果3个this都是A对象,因为在main方法创建的是A对象,所以往父类里面的this全部是你创建的A对象

=============================我是一个反应迟钝的程序员==========================

Java核心技术 第一章 接口、继承与多态

课程主要包含: 第一讲 类的继承 第二讲 Object类 第三讲 对象类型的转换 第四讲 方法的重载 第五讲 方法的重写 第六讲 多态 第七讲 抽象类和接口
  • 2017年05月02日 11:37

java为什么不允许多重继承

张三和李四一同到一家公司去应聘,二人被安排同时接受经理的面试。 经理拿出一个代码片段: public class Father { public void makeMoney(){ ...
  • ndlgyb1
  • ndlgyb1
  • 2016-08-17 13:58:37
  • 1728

用java内部类实现多重继承

[java] view plain copy package test;   /**   * class one: Class1   * @author TJ  ...
  • seebetpro
  • seebetpro
  • 2016-07-28 21:37:58
  • 1094

Java中实现多重继承

在Java中只能继承一个类,但是可以继承多个接口。常常使用继承单个类和集成多个接口的方式实现类的多重继承。 如下是多重继承示例:interface CanFight{ void fight()...
  • victoryjack
  • victoryjack
  • 2016-06-08 21:51:22
  • 2482

JAVA 单继承 与 接口 多重继承

又是一个牛角尖,只是语言不够严谨而已,Java中只支持类的单继承,接口之间的继承同样也是使用extends关键字,但是接口之间是支持多继承的,如下面的例子: [java] view pl...
  • ccccdddxxx
  • ccccdddxxx
  • 2012-08-22 11:56:04
  • 8533

Java实现多重继承技巧

Java实现多重继承
  • hemin1003
  • hemin1003
  • 2017-02-14 10:16:13
  • 281

Java8中使用默认方法实现多重继承的测试

测试内容:当一个类从超类和接口继承相同的方法时会发生什么?一个超类MyClass:package insping; public class MyClass { public String g...
  • hspingcc
  • hspingcc
  • 2017-06-16 16:23:23
  • 470

java 实现多重继承

package com.yangll; //多重继承类 public class ClassTestylll extends Person1 { class inner extends Mach...
  • aa_moon
  • aa_moon
  • 2016-12-02 15:56:40
  • 335

关于Java使用接口实现多重继承

       首先在我们使用接口可以实现Java的多重继承,这里为什么Java自身不提供多重继承的机制呢?       这里有一种被称为菱形继承的危险:如图,我们有一个动物基类,本身带有一个叫声的方法...
  • huan_mie
  • huan_mie
  • 2010-10-14 23:32:00
  • 6399

Java中类不能多重继承,接口可以多重继承

在java.util.concurrent.RunnableFuture.class  中 有个接口,如下: /* * @(#)RunnableFuture.java 1.3 06/01/30 ...
  • zhengqiqiqinqin
  • zhengqiqiqinqin
  • 2013-11-13 22:31:19
  • 1174
收藏助手
不良信息举报
您举报文章:java多重继承的this属于谁
举报原因:
原因补充:

(最多只允许输入30个字)