`
stinge
  • 浏览: 153656 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

super 与 this

    博客分类:
  • java
 
阅读更多

super 与 this

 

1、 构造函数内使用this() 和super()

    this()来调用同一类内的其他构造函数,必须放在第一行

    super()从子类的构造函数调用其父类的构造函数,必须放在第一行。

     可以根据参数的不同选择调用不同的构造函数。

2、this 当局部变量与成员变量重名时,使用this访问成员变量

    super 子类内调用父类成员   super.成员变量或super.成员函数

 

3、举例

 

package com;
public class JavaTest {
public static void main(String ar[])
{
	TChild tc = new TChild();
}
}

class TFather{
	protected int num;
	public TFather(){
		System.out.println("父类无参构造函数");
	}
	public TFather(int n){
		//调用TFather()
		this();
		int num = n;
		//当成员变量与局部变量同名时,使用this访问成员变量
		System.out.println("局部变量num "+num);
		System.out.println("成员变量num "+this.num);
		System.out.println("父类有参构造函数");
	}
	public void show(){
		System.out.println("父类show");
	}
}
class TChild extends TFather{
	protected int num;
	public TChild(){
		//默认调用TFather(),super()有参数时调用TFather(int n)
		super(1);
		show();
		super.num = 232;
		System.out.println("父类变量num "+super.num);
		//调用父类方法
        super.show();
	}
	public void show(){
		System.out.println("子类show");
	}
}
 

 

  结果:

 

父类无参构造函数
局部变量num 1
成员变量num 0
父类有参构造函数
子类show
父类变量num 232
父类show
 

 

 

 

 

 

 

 

 

分享到:
评论
1 楼 Will.Du 2011-12-09  
挺好的,不过你的层数太少,如果是extends了两次,那么super调用情况如何没有体现出来~~

相关推荐

    day09 12 super与this关键字图解

    day09_12_super与this关键字图解

    JAVA进阶-Java继承,多态,重写,修饰符以及super与this使用,Oject对象

    在Java编程语言中,继承、多态、重写、修饰符以及`super`和`this`的使用是面向对象编程的核心概念。这些知识点对于理解和编写高效、可维护的代码至关重要。 1. **Java继承**: Java继承允许一个类(子类)继承另一...

    Java中this与super的区别

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

    Java中this与super的用法

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

    java中this\super详解

    ### Java中this与super详解 #### 一、引言 在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在面向对象编程中扮演着至关重要的角色。`this`关键字用于引用当前对象,而`super`则用于访问父类中的...

    java中this与super用法

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

    java中this 与super的详解

    java中this 与super的详解

    Java中的this和super的用法 

    使用 this 和 super 关键字可以帮助我们在编程中避免一些常见的错误,例如,在某个方法中,如果形参名与当前对象的成员变量名相同,使用 this 关键字可以明确地指明当前对象的成员变量名。 此外,使用 this 和 ...

    javathis和super用法 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中super的几种用法并与this的区别

    本文将深入探讨`super`的几种用法,并对比`this`关键字的区别。 1. **调用父类构造器**: 当子类创建一个新的实例时,如果需要调用父类的构造器,必须在子类构造函数的第一行使用`super()`,如下面的`Base`和`...

    this和super的异同点

    知道this有集中用法吗?this和super的区别呢?每个理论对应这实例。。可以边看边操作。。加油吧。。

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

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

    Java中static、this、super、final用法简谈

    Java中的`static`、`this`、`super`和`final`是四个非常重要的关键字,它们在编程中扮演着至关重要的角色。这篇文章将简要介绍这些关键字的基本用法及其应用场景。 1. **static** `static`关键字用于声明类级别的...

    Java中static、this、super、final用法

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

    Java_this_super.zip_super

    在Java编程语言中,`this`和`super`是两个非常关键的关键词,它们在类的继承机制中扮演着至关重要的角色。`this`关键字主要用于当前对象的引用,而`super`关键字则用于访问父类的成员。让我们深入探讨这两个概念以及...

    super和this之间的区别.docx

    2. **区分局部变量和成员变量**:当类的局部变量与成员变量同名时,`this` 可用来明确引用成员变量。例如,`this.a` 表示当前对象的成员变量 `a`,而不是方法中的局部变量 `a`。 `super` 关键字则用于引用父类的...

    java中的this和super

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

Global site tag (gtag.js) - Google Analytics