国内服务器
亚洲服务器
欧洲服务器
北美洲服务器
南美洲服务器
大洋洲服务器
非洲服务器

首页>>建站

java中super与this的区分是甚么

发表时间:2023-07-13 07:56:28

Java中super与this的区分

在Java中,super与this都是关键字,用于指代当前履行代码的对象。虽然它们都能够访问类中的成员变量和成员方法,但是它们之间却有很多区分。

1.super关键字

super关键字用于访问父类中的成员变量和成员方法。它可以在子类中调用父类的构造函数、父类中被子类覆盖的方法和父类中未被子类覆盖的方法。

1.1访问父类中的属性和方法

使用super可以在子类中访问父类中被子类覆盖的方法和属性。例如:

classAnimal{Stringname=动物;publicvoidsound(){System.out.println(动物的叫声);}}classCatextendsAnimal{Stringname=猫;publicvoidsound(){System.out.println(猫的叫声);}publicvoidmakeSound(){super.sound();}publicvoidanimalName(){System.out.println(super.name);}}publicclassTest{publicstaticvoidmain(String[]args){Catcat=newCat();cat.makeSound();//调用父类中的方法cat.animalName();//调用父类中的属性}}

1.2访问父类中的构造函数

使用super可以在子类构造函数中调用父类的构造函数。这在子类继承的父类中存在带有参数的构造函数时非常有用。例如:

classAnimal{Stringname;publicAnimal(Stringname){this.name=name;}}classCatextendsAnimal{Stringcolor;publicCat(Stringname,Stringcolor){super(name);this.color=color;}publicvoiddisplay(){System.out.println(名字:+super.name+,色彩:+this.color);}}publicclassTest{publicstaticvoidmain(String[]args){Catcat=newCat(汤姆,黑色);cat.display();//名字:汤姆,色彩:黑色}}

2.this关键字

this关键字用于援用当前对象的实例。它可以用于访问当前对象的成员属性和方法,创建对象的援用和在构造函数之间进行调用。另外,this还可以用于辨别局部变量和成员变量。

3.区分与联系

虽然super和this在很多情况下都能够访问到相同的成员变量和成员方法,但是它们之间或者存在很多区分的。

3.1作用域区别

this关键字只能在类中使用,并且只能用于援用当前对象的实例。super关键字可以在子类中使用,并且可以用于援用父类中的成员变量和成员方法。

3.2访问权限区别

this关键字可以访问当前对象中的所有成员方法和成员属性,而super关键字只能访问父类中的成员方法和成员属性。

3.3构造函数中的使用区别

this关键字可以用于在一个构造函数中调用该类的另外一个构造函数,用于避免代码冗余。super关键字用于访问父类的构造函数,并扩大子类的行动。

3.4辨别成员变量与局部变量

在类中定义的成员变量与方法参数或局部变量可能存在相同的名称。此时,this关键字可以用于辨别成员变量与局部变量或方法参数,而super没法辨别相同名称的变量和参数。

4.总结

在Java中,super与this关键字都是比较重要的关键字,它们在使用方面略有区别,但目的都是为了方便访问类中的成员变量和方法。使用super关键字可以访问父类中的成员变量和方法,使用this关键字可以访问当前对象的实例,这在代码编写进程中是非常有用的。

使用super关键字需要注意的是,它只能用于在子类中访问父类的成员变量和成员方法,并在构造函数中用于调用父类的构造函数。而this关键字主要用于辨别成员变量和方法参数或局部变量,并且在代码重用中有很大的作用。

桂>哥>网>络www.guIgege.cn

上一篇 下一篇
最新文章

如何提高云服务器的安全系数

香港独立IP空间有什么优势

香港空间影响百度收录吗

为啥要租用美国VPS

VPS的缺点有哪些

香港vps作用在哪里

VPS的优点有哪些

外贸网站为啥选择美国vps

VPS能建多少个网站

VPS要如何选择位置

相关文章

美国站群服务器部署业务有什么优势

如何选择服务器的类型

美国高防服务器价格受哪些方面影响

Windows Server的新一代身份认证技术:提升安全性的关键

新加坡服务器的优点有哪些?

Expedia聊天GPT插件:简化旅行预订流程(expedia chatgpt plugin)

使用美国云主机的好处有哪些

vultr-各区下载测试地址/测试IP

在租用韩国服务器之前如何进行测速

荷兰服务器租用需要注意的处所

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!