1、this和super都代表了什么
this:代表当前对象的引用,谁来调用我,我就代表谁
super:代表当前对象父类的引用
2、this和super的使用区别
a、调用成员变量
this.成员变量 调用本类的成员变量,也可以调用父类的成员变量
super.成员变量 调用父类的成员变量。
b、调用构造方法
this(...) 调用本类的构造方法
super(...) 调用父类类符构造方法‘
c、调用成员方法
this.成员方法 调用本类的成员方法,也可以调用父类符成员方法
super.成员方法 调用父类的成员方法
3、继承中构造方法的关系
子类中所有的构造方法默认都会访问父类中空参的构造方法
为什么?
因为之类会继承父类中的数据,可能还会使用父类的数据,所以,之类初始化之前,一定要先完成父类数据的初始化。
其实,每一个构造方法的第一条语句默认都是:super()。
4、继承中构造方法的注意事项
super(...)或this(...)必须出现在构造方法的第一条语句上。两者是不能同时出现在同一段代码块的。
* 父类没有无参构造方法,子类怎么办?
* super解决
* this解决
class Demo6_Extends { public static void main(String[] args) { Son s1 = new Son(); System.out.println(s1.getName() + "..." + s1.getAge()); System.out.println("--------------------"); Son s2 = new Son("张三",23); System.out.println(s2.getName() + "..." + s2.getAge()); } } /* * A:案例演示 * 父类没有无参构造方法,子类怎么办? * super解决 * this解决 * B:注意事项 * super(⋯)或者this(⋯.)必须出现在构造方法的第一条语句上 */ class Father { private String name; //姓名 private int age; //年龄 public Father() { //空参构造 System.out.println("Father 空参构造"); } public Father(String name,int age) { //有参构造 this.name = name; this.age = age; System.out.println("Father 有参构造"); } public void setName(String name) { //设置姓名 this.name = name; } public String getName() { //获取姓名 return name; } public void setAge(int age) { //设置年龄 this.age = age; } public int getAge() { //获取年龄 return age; } } class Son extends Father { public Son() { //空参构造 this("王五",25); //本类中的构造方法 //super("李四",24); //调用父类中的构造方法 System.out.println("Son 空参构造"); } public Son(String name,int age) { //有参构造 super(name,age); System.out.println("Son 有参构造"); } }
相关推荐
Java 中 this 与 super 的用法 Java 中的 this 和 super 是两个非常重要的关键字,它们都是用来访问对象或父类的成员变量或方法的。下面我们将详细地讲解它们的用法和区别。 首先,让我们来看一下 this 关键字。...
Java中this与super的区别 this&super; 什么是this,this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 Java关键字this只能用于方法的方法体内。当一个对象创建后, Java虚拟机(JVM)就...
Java 中 this 与 super 用法 在 Java 中,this 和 super 是两个重要的关键字,它们都是用于访问当前对象或父类中的成员变量或方法的。 this 用法 this 的用法在 Java 中大体可以分为三种: 1. 普通的直接引用 在...
java中this 与super的详解
在Java编程语言中,this与super是两个十分重要的关键字,它们被频繁地用于对象的引用和继承体系中。本文档旨在深入探讨this与super的关键用法,帮助Java开发者们更好地理解并正确运用这两个关键字,从而提高代码的...
使用 this 和 super 关键字可以帮助我们在编程中避免一些常见的错误,例如,在某个方法中,如果形参名与当前对象的成员变量名相同,使用 this 关键字可以明确地指明当前对象的成员变量名。 此外,使用 this 和 ...
### Java中的this与super关键字详解 #### 一、引言 在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在面向对象编程中扮演着不可或缺的角色。正确理解和使用这两个关键字对于编写高质量、易于维护...
在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在类的继承和对象引用中起着至关重要的作用。本篇将详细阐述这两个关键字的含义、用法以及它们之间的区别。 首先,`this`关键字代表当前对象的引用...
本讲义主要聚焦于Java语言中的两个关键概念:构造方法以及`this`和`super`关键字。这两大主题在构建复杂对象模型时起着至关重要的作用。 首先,我们来讨论构造方法。在Java中,构造方法是一种特殊的方法,其主要...
### Java中this与super的区别详解 #### 一、前言 在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在面向对象编程中扮演着至关重要的角色。正确理解和使用这两个关键字对于编写高效、清晰的代码至...
Java 中 static、this、super、final 的用法 静态方法(static method)是一种特殊的方法,它可以在不需要创建对象的情况下被调用。Java 中的静态方法使用 static 关键字来修饰,例如 public static void main...
在Java编程语言中,`this`和`super`是两个非常关键的特殊变量,它们提供了在类和对象间导航的能力。这两个关键字无需提前声明,它们各自有着特定的用途。 首先,`this`关键字用于引用当前对象。在成员函数内部,`...
Java中的`static`、`this`、`super`和`final`是四个非常重要的关键字,它们在编程中扮演着至关重要的角色。这篇文章将简要介绍这些关键字的基本用法及其应用场景。 1. **static** `static`关键字用于声明类级别的...
this 与 super 的比较 在 Java 中,this 和 super 都是关键字,但是它们有着不同的用法。this 关键字用来指代当前类的属性、方法和构造函数,而 super 关键字用来指代当前类的父类。 例如: ```java public class...
java基础教程301集137 this与super关键字访问实.mp4
java基础教程301集138 this与super关键字访问实.mp4
在Java编程语言中,`this` 和 `super` 是两个非常重要的关键字,它们在处理类的继承关系时起到关键作用。下面将详细解释这两个关键字的使用方法和它们的区别。 首先,`this` 关键字: 1. **普通直接引用**: `...