2024年super和java基础教程

super和java基础教程前言 大家应该经常会遇到这 static this super final 四个关键字 甚至容易把含义搞混 其实 static this super final 这四个关键字互相是没有什么联系的 除了 this 和 super 有一定关系外 所以大家其实要刻意区分一下这几个对应的功能和使用场景 那么这篇博客带领大家学习一下 super 和 this 的用法 在这里大家可以简单这样理解

大家好,我是讯享网,很高兴认识大家。



前言

大家应该经常会遇到这static、this、super、final四个关键字,甚至容易把含义搞混。

其实static、this、super、final这四个关键字互相是没有什么联系的(除了this和super有一定关系外),所以大家其实要刻意区分一下这几个对应的功能和使用场景

那么这篇博客带领大家学习一下 super 和 this 的用法

在这里大家可以简单这样理解:this表示当前类的...,super表示父类的...

下面我们来详细讲解 super 和 this 两个关键字各自的用法和区别

super关键字

super在父类、子类相关联的操作中经常被用到

super 是Java中的关键字,用于引用父类(超类)的成员变量、方法或构造函数。它有以下主要用途:

  1. 访问父类中的成员变量
  2. 调用父类中的构造方法
  3. 调用父类中的方法

在没有继承和被继承关系的类中,几乎不被使用

super和java基础教程

我个人喜欢将super理解为 “父类的”, “引用父类的”

1、访问父类的成员变量

使用 关键字可以在子类中访问父类中的成员变量。这对于在子类中有相同名字的成员变量时很有用,以便明确指定你想要访问的是父类的成员变量。

 
讯享网 

讯享网

2、调用父类中的构造方法

在子类的构造函数中使用 关键字可以调用父类的构造函数。这通常用于初始化父类的成员变量或执行父类构造函数的逻辑。

经常用在下面这种情况,类中有些变量是子类继承父类的

利用super可调用父类的构造方法将其赋值

 

3、调用父类中的方法

使用 关键字可以在子类中显式调用父类的方法。这在子类重写父类的方法时特别有用,以便在子类中可以调用父类的版本。

讯享网

this关键字

其实this相对来说和super还是有一定关系的,this可以简单理解为 “当前类的”,super可以理解为 “父类的”

其实只要按着上面那句话记,大部分情况都可以得心应手的使用了

下面,我们继续来讲解this(主要讲解的是用法)

众所周知,this最常用的地方是在构造方法中使用,this.属性来给对象中的属性赋值,代码如下:

 

很多人都会有一个疑问,直接访问属性不是也可以访问到么,为什么要this.属性来访问呢

其实大家看上面的代码,方法传过来的参数命名和类中属性命名一摸一样,像这种情况,如果写成下面这种样子是谁赋值给谁呢?

 

像上面这种写法不仅本质上错误,而且含义太过于混淆

如果这时候引入this,就能区分开,this表示当前类的:

 

将方法接收的参数依次赋值给当前类的参数

this和super的区别

this表示当前类的,super表示父类的

官方一点就是:

  • this用于引用当前对象
  • super用于访问父类

    他俩可以在同一个方法中同时出现,各自发挥各自的作用,互不冲突,代码如下:

 

在dog的构造方法中,使用了 super(name, age);调用了父类的构造方法,又使用了 this.color = color 为当前类的color赋值,作用互不冲突

小讯
上一篇 2024-12-31 08:00
下一篇 2024-12-27 21:27

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/7029.html