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

this与super

    博客分类:
  • java
阅读更多

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

    Java中this与super的区别

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

    java中this与super用法

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

    java中this 与super的详解

    java中this 与super的详解

    Java中this与super关键字的对比使用.pdf

    在Java编程语言中,this与super是两个十分重要的关键字,它们被频繁地用于对象的引用和继承体系中。本文档旨在深入探讨this与super的关键用法,帮助Java开发者们更好地理解并正确运用这两个关键字,从而提高代码的...

    java中this\super详解

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

    Java中的this和super的用法 

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

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

    ### Java中的this与super关键字详解 #### 一、引言 在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在面向对象编程中扮演着不可或缺的角色。正确理解和使用这两个关键字对于编写高质量、易于维护...

    Java中this与super关键字的对比使用.zip

    在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在类的继承和对象引用中起着至关重要的作用。本篇将详细阐述这两个关键字的含义、用法以及它们之间的区别。 首先,`this`关键字代表当前对象的引用...

    12-面向对象-第4天(构造方法this与super)-讲

    本讲义主要聚焦于Java语言中的两个关键概念:构造方法以及`this`和`super`关键字。这两大主题在构建复杂对象模型时起着至关重要的作用。 首先,我们来讨论构造方法。在Java中,构造方法是一种特殊的方法,其主要...

    java中this&super的区别.txt

    ### 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

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

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

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

    java中this的使用

    this 与 super 的比较 在 Java 中,this 和 super 都是关键字,但是它们有着不同的用法。this 关键字用来指代当前类的属性、方法和构造函数,而 super 关键字用来指代当前类的父类。 例如: ```java public class...

    java基础教程301集137 this与super关键字访问实.mp4

    java基础教程301集137 this与super关键字访问实.mp4

    java基础教程301集138 this与super关键字访问实.mp4

    java基础教程301集138 this与super关键字访问实.mp4

    java中this与super关键字的使用方法

    在Java编程语言中,`this` 和 `super` 是两个非常重要的关键字,它们在处理类的继承关系时起到关键作用。下面将详细解释这两个关键字的使用方法和它们的区别。 首先,`this` 关键字: 1. **普通直接引用**: `...

Global site tag (gtag.js) - Google Analytics