this 关键字的用法,super 关键字的用法,this 与 super 的区别

news/2024/11/27 19:43:10/

this 是自身的一个对象,代表对象本身,是指向对象本身的一个指针。

用法分为3种:

        1.普通的直接引用,this 相当于是指向当前对象本身

        2.形参与成员名字重名,用this 来区分

 public Student(String name, int age) {this.name = name;this.age = age;}

        3.引用本类的构造函数

public class Student {//1.私有化成员变量//2.空参构造方法//3.带全部参数的构造方法//4.get/set 方法private String name;private int age;public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}
}

super 关键字的用法

super 是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。

三种用法:
        1.普通的直接引用

        与this类似,super是指向当前对象父类的引用,这样就可用super.xxx来引用父类的成员 

        2.子类中的成员变量或方法 与 父类中的成员变量或方法 同名时,用super 进行区分

class Person{protected String name;public Person(String name) {this.name = name;}
}
class Student extends Person{private String name;public Student(String name, String name1) {super(name);this.name = name1;
}
public void getInfo(){System.out.println(this.name); //ChildSystem.out.println(super.name); //Father}
}
public class Test {public static void main(String[] args) {Student s1 = new Student("Father","Child");s1.getInfo();}
}

    3.引用父类构造函数 

  • super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)
  • this (参数) :调用本类中另一种形式的构造函数 (应该为构造函数中的第一条语句)

this 与 super 的区别

super : 引用当前对象的直接父类中的成员

(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数名(实参))

this : 代表当前对象名

(在程序中易产生二义性之处,应使用this 来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this 来指明成员变量名)

super() 在子类中调用父类的构造方法,this() 在本类内调用本类的其他构造方法,两者均需放在构造方法内第一行,都指的是对象,所以均不可以在static环境中使用,包括:static变量,static方法,static语句块,不能同时出现在一个构造函数里面,因为this 必然会调用其他的构造函数,其他的构造函数必然也会有super 语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过

尽管可以用this 调用一个构造器,但却不能调用两个

本质上讲,this 是一个指向本对象指针super 是一个Java关键字


http://www.ppmy.cn/news/350553.html

相关文章

Vue第八篇Vue3

一 Vue3的变化 1.性能的提升 打包大小减少41% 初次渲染快55%, 更新渲染快133% 内存减少54% 2.源码的升级 使用Proxy代替defineProperty实现响应式 重写虚拟DOM的实现和Tree-Shaking 3.拥抱TypeScript Vue3可以更好的支持TypeScript 4.新的特性 Composition API&#…

计算机各外设的作用,计算机外设的功能是什么

外部设备简称“外设”,是指连在计算机主机以外的硬件设备。对数据和信息起着传输、转送和存储的作用,是计算机系统中的重要组成部分。随着我国计算机应用的迅速普及以及网络化、信息化应用的日益广泛,使市场对计算机外部设备的需求不断增长&a…

小学是不是可以用计算机,小学生怎样利用计算机学习

计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。下面是unjs小编整理的相关内容,欢迎大家阅读! (1)学习学校知识 同学们可以依靠计算机来学习学…

计算机主机和外设包括什么,计算机外设包括哪些

外部设备简称“外设”,是指连在计算机主机以外的硬件设备。对数据和信息起着传输、转送和存储的作用,是计算机系统中的重要组成部分。计算机外设是什么?下面是小编给大家整理的一些相关信息,希望对大家有帮助! 随着我国计算机应用的迅速普及…

计算机外设功能,计算机外设是什么

计算机外设是什么 导语:外部设备简称“外设”,是指连在计算机主机以外的硬件设备。对数据和信息起着传输、转送和存储的作用,是计算机系统中的重要组成部分。以下是小编收集的有关电脑入门的知识,希望对您有所帮助。 随着我国计算…

计算机视觉 – Computer Vision | CV

计算机视觉(Computer Vision)是人工智能领域的一个重要分支。它的目的是:看懂图片里的内容。 本文将介绍计算机视觉的基本概念、实现原理、8 个任务和 4 个生活中常见的应用场景。 计算机视觉为什么重要? 人的大脑皮层&#xff0…

计算机地位及影响英语,计算机专业英语的重要性.doc

PAGE / NUMPAGES 计算机专业英语的作用 崔艳红 (吉林省畜牧业学校,吉林 白城) [摘要]计算机现今已被广泛应用到各个领域,在使用计算机过程中可能会碰到各种各样的专业术语,特别是那些英文缩写常让我们不知所措,但是当你掌握计算机…

计算机常用英语单词对照

第一部分、计算机算法常用术语中英对照Data Structures 基本数据结构 Dictionaries 字典 Priority Queues 堆 Graph Data Structures 图 Set Data Structures 集合 Kd-Trees 线段树 Numerical Problems 数值问题 Solving Linear Equations 线性方程组 Bandwidth Reduction 带宽…