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
分享到:
相关推荐
day09_12_super与this关键字图解
在Java编程语言中,继承、多态、重写、修饰符以及`super`和`this`的使用是面向对象编程的核心概念。这些知识点对于理解和编写高效、可维护的代码至关重要。 1. **Java继承**: Java继承允许一个类(子类)继承另一...
Java中this与super的区别 this&super; 什么是this,this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 Java关键字this只能用于方法的方法体内。当一个对象创建后, Java虚拟机(JVM)就...
Java 中 this 与 super 的用法 Java 中的 this 和 super 是两个非常重要的关键字,它们都是用来访问对象或父类的成员变量或方法的。下面我们将详细地讲解它们的用法和区别。 首先,让我们来看一下 this 关键字。...
### Java中this与super详解 #### 一、引言 在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在面向对象编程中扮演着至关重要的角色。`this`关键字用于引用当前对象,而`super`则用于访问父类中的...
Java 中 this 与 super 用法 在 Java 中,this 和 super 是两个重要的关键字,它们都是用于访问当前对象或父类中的成员变量或方法的。 this 用法 this 的用法在 Java 中大体可以分为三种: 1. 普通的直接引用 在...
java中this 与super的详解
使用 this 和 super 关键字可以帮助我们在编程中避免一些常见的错误,例如,在某个方法中,如果形参名与当前对象的成员变量名相同,使用 this 关键字可以明确地指明当前对象的成员变量名。 此外,使用 this 和 ...
### Java中的this与super关键字详解 #### 一、引言 在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在面向对象编程中扮演着不可或缺的角色。正确理解和使用这两个关键字对于编写高质量、易于维护...
Java 中 static、this、super、final 的用法 静态方法(static method)是一种特殊的方法,它可以在不需要创建对象的情况下被调用。Java 中的静态方法使用 static 关键字来修饰,例如 public static void main...
本文将深入探讨`super`的几种用法,并对比`this`关键字的区别。 1. **调用父类构造器**: 当子类创建一个新的实例时,如果需要调用父类的构造器,必须在子类构造函数的第一行使用`super()`,如下面的`Base`和`...
知道this有集中用法吗?this和super的区别呢?每个理论对应这实例。。可以边看边操作。。加油吧。。
在Java编程语言中,`this`和`super`是两个非常关键的特殊变量,它们提供了在类和对象间导航的能力。这两个关键字无需提前声明,它们各自有着特定的用途。 首先,`this`关键字用于引用当前对象。在成员函数内部,`...
Java中的`static`、`this`、`super`和`final`是四个非常重要的关键字,它们在编程中扮演着至关重要的角色。这篇文章将简要介绍这些关键字的基本用法及其应用场景。 1. **static** `static`关键字用于声明类级别的...
在Java编程语言中,`static`, `this`, `super`, 和 `final` 是四个非常重要的关键字,它们分别代表不同的概念并具有特殊的用法。 一、`static` `static` 关键字用于声明类级别的成员(变量或方法),这意味着它们...
在Java编程语言中,`this`和`super`是两个非常关键的关键词,它们在类的继承机制中扮演着至关重要的角色。`this`关键字主要用于当前对象的引用,而`super`关键字则用于访问父类的成员。让我们深入探讨这两个概念以及...
2. **区分局部变量和成员变量**:当类的局部变量与成员变量同名时,`this` 可用来明确引用成员变量。例如,`this.a` 表示当前对象的成员变量 `a`,而不是方法中的局部变量 `a`。 `super` 关键字则用于引用父类的...
### Java中的this和super #### 一、引言 在Java编程中,`this` 和 `super` 是两个非常重要的关键字,它们可以帮助我们更清晰地处理类中的成员变量和方法,尤其是在面向对象编程中,正确理解和使用这两个关键字对于...