这个问题,我曾经也思考过很长时间,我的见解是:super 和 this ,都是一个预备引用,在加载过程中,Java虚拟机会根据类与类之间的结构隐式的创建this和super,在逻辑上提供类之间在未创建对象时就可以有调用的可能。this和super,在还没有实例化对象前,都是待定赋值的;在对象产生时,其地址立即被赋予super和this。我觉得这两个可以理解为模型,模型在没有具体实体时,也可以进行代表实体操作的。至于this为何可以当一个变量赋值给其它变量,而super则不能,个人理解为super被虚拟机定义为一个final修饰的量。 |
|