`
u012901117
  • 浏览: 1806 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

关于JAVA的this和super

阅读更多

 

1 在生成子类对象的时候会生成一个隐式的父类对象(不管父类对象是抽象还是具体),这个对象是在虚拟机中生成的相当于不可见(如果不生成父类对象,不对父类进行初始化,之类就无法调用父类属性)。

 

2  this指代对当前对象的引用这个没有问题,但是super,很多人说不能把super当做父类对象的引用,但是本质上,this和super都是一样的,都是对象的引用。区别在于,super引用的父类对象是在java虚拟机中隐式生成的,所以又不能把super当做对象的引用。

3 生成子类对象,如果没有显式的使用super调用父类构造函数,虚拟机也会替你调用的,因为如果不调用,父类就无法初始化,子类就不能正常调用父类字段和方法。

4 生成子类对象,实际上进行了两次初始化,调用两次构造函数,第一次,调用父类构造函数初始化隐式的父类对象,第二次调用,调用父类构造函数初始化子类。

5 而在子类的普通方法中使用super,只是相当于把父类的方法调到子类中执行。

package Test3;

import org.omg.CORBA.PUBLIC_MEMBER;

class A{
	public A()
	{
		System.out.println(this.getClass().getName());
	}
	public String method(){
		return this.getClass().getName();
	}
}
public class B extends A{
	//生成B对象的时候,初始化B会调用A的构造函数来初始化B,同时也会生成隐式的A的对象,隐式的调用A的构造函数。
	
	public String method(){
		//把父类的方法调用到这里,不过是只在子类对象中执行,
		//而生成对象的时候构造函数会同时在父类和子类对象中执行,但是
		//父类中的构造函数的执行是不可见的
		System.out.println("我在这");
		return super.method();
		
	}
	public static void main(String args[]){
		B b=new B();//在生成子类对象的时候会生成隐式的父类对象,不可见。
		System.out.println(b.method());
		
		
	}
		
	}
执行结果:
Test3.B
我在这
Test3.B

以上理解如果有错误,请指出,谢谢了。

 

0
3
分享到:
评论

相关推荐

    Java中的this和super的用法 

    Java 中的 this 和 super 的用法 Java 中的 this 和 super 是两个非常重要的关键字,它们都是用来访问对象的成员变量和方法的。下面我们将详细地讨论这两个关键字的用法和区别。 一、基础知识 1. super(参数):...

    Java中this与super的用法

    Java 中的 this 和 super 是两个非常重要的关键字,它们都是用来访问对象或父类的成员变量或方法的。下面我们将详细地讲解它们的用法和区别。 首先,让我们来看一下 this 关键字。this 关键字是用来访问当前对象的...

    javathis和super用法 this和 super 关键字的区别

    ### Java中的this与super关键字...`this`和`super`关键字在Java中具有重要的作用,正确理解和应用它们对于开发高质量的Java应用程序至关重要。通过本文的介绍,希望能够帮助读者更好地掌握这两个关键字的用法及其区别。

    java中this 与super的详解

    java中this 与super的详解

    Java中this与super的区别

    Java中this与super的区别 this&super; 什么是this,this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 Java关键字this只能用于方法的方法体内。当一个对象创建后, Java虚拟机(JVM)就...

    java中this\super详解

    在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在面向对象编程中扮演着至关重要的角色。`this`关键字用于引用当前对象,而`super`则用于访问父类中的成员。本文将详细介绍这两个关键字的概念、用法...

    java中this与super用法

    在 Java 中,this 和 super 是两个重要的关键字,它们都是用于访问当前对象或父类中的成员变量或方法的。 this 用法 this 的用法在 Java 中大体可以分为三种: 1. 普通的直接引用 在类的成员方法中,可以使用 ...

    关于Java中this和super的用法介绍和区别共3页

    在Java编程语言中,`this`和`super`是两个非常关键的关键词,它们用于解决对象内部的引用问题,帮助开发者更好地理解和使用类与对象之间的关系。本篇将详细阐述`this`和`super`的用法以及它们的区别。 首先,`this`...

    super,this的区别

    Java 语言中的关键字 this 和 super 是两个非常重要的概念,它们之间有着紧密的联系,但同时也存在一定的区别。本篇文章将详细介绍这两个关键字的使用和区别。 this 关键字 Java 关键字 this 只能用于方法体内。当...

    java:this和super

    ### Java中的this和super关键字详解 #### 一、引言 在Java编程语言中,`this` 和 `super` 是两个非常重要的关键字,用于处理类内部及其继承结构中的各种问题。本文将详细介绍这两个关键字的基本概念、用法以及它们...

    Java中static、this、super、final用法

    在Java编程语言中,`static`, `this`, `super`, 和 `final` 是四个非常重要的关键字,它们分别代表不同的概念并具有特殊的用法。 一、`static` `static` 关键字用于声明类级别的成员(变量或方法),这意味着它们...

    Java中两个非常特殊的变量:this和super

    在Java编程语言中,`this`和`super`是两个非常关键的特殊变量,它们提供了在类和对象间导航的能力。这两个关键字无需提前声明,它们各自有着特定的用途。 首先,`this`关键字用于引用当前对象。在成员函数内部,`...

    java中的this和super

    ### Java中的this和super #### 一、引言 在Java编程中,`this` 和 `super` 是两个非常重要的关键字,它们可以帮助我们更清晰地处理类中的成员变量和方法,尤其是在面向对象编程中,正确理解和使用这两个关键字对于...

    Java this super代码实例及使用方法总结

    Java this 和 super 代码实例及使用方法总结 Java 编程语言中,this 和 super 是两个非常重要的关键字,这两个关键字在面向对象编程中扮演着非常重要的角色。下面我们将详细介绍 Java 中 this 和 super 的用法。 ...

    static、this、super、final的JAVA用法

    Java 中 static、this、super、final 的用法 静态方法(static method)是一种特殊的方法,它可以在不需要创建对象的情况下被调用。Java 中的静态方法使用 static 关键字来修饰,例如 public static void main...

    Java中this、super用法.pdf

    Java 中的 this 和 super 用法 在 Java 中,this 和 super 是两个非常重要的关键字,它们在编程中扮演着重要的角色。本文将详细介绍 this 和 super 的用法和意义,以便读者更好地理解和掌握它们。 this 在 Java ...

    Java SE编程入门教程 java this和super(共10页).pptx

    - `this`关键字代表当前对象的引用,它主要用于在类的内部访问当前对象的成员变量和方法。 - 在构造方法中,`this`可以用来调用同一类中其他构造方法,避免代码重复。 - 当成员变量和局部变量重名时,`this`可以...

    Java中 this 和 super 的简明介绍

    在Java编程语言中,`this`和`super`是两个非常关键的关键词,它们帮助开发者在处理类的内部引用和继承关系时更加清晰和高效。本文将深入探讨这两个概念及其在实际编程中的应用。 首先,`this`关键字代表当前对象的...

    在Java中有两个非常特殊的关键词: this和super

    this和super ,这两个变量在使用前都是不需要声明的.this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象.super变量是直接指向超类的构造函数,用来引用超类中的变量和方法....

    Java中this、super用法[归类].pdf

    Java 中 this 和 super 的用法 Java 中的 this 和 super 是两个重要的关键字,它们在面向对象的编程中扮演着非常重要的角色。本文将详细介绍这两个关键字的用法和意义。 this 关键字 在 Java 中,this 通常指当前...

Global site tag (gtag.js) - Google Analytics