• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

java关键字super和this是什么?有什么区别?

java 搞代码 4年前 (2022-01-09) 29次浏览 已收录 0个评论

本篇文章给大家带来的内容是介绍java关键字super和this是什么?有什么区别?,让大家了解关键字super和this的作用,关键字super和this的区别,以及简单介绍一下superL()和this()。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。

关键字super和this是什么?有什么区别?

this关键字

this是java中的保留关键字,即我们不能将其用作标识符。

this:代表当前对象,它允许访问当前类的方法/属性(包括其自己的私有方法/属性)。

简单来说:能访问操作当前类里面的所有属性及方法以及父类继承而来能被访问修饰符允许的属性和方法。

示例:

class RR { 	int a = 10; 	static int b = 20; 	void GFG() { 		this.a = 100; 		this.b = 600; 		System.out.println(a); 		System.out.println(b); 	} 	public static void main(String[] args) { 		new RR().GFG(); 	} }

运行结果:

注:this只能在类的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this。

super关键字

super是java中的保留关键字,即我们不能将其用作标识符。

super代表当前对象类的父类对象部分,用来引用被屏蔽的成员变量和成员方法。允许访问公共(受保护)的方法或属性,无法访问父级的私有方法或属性。

super不能操作到本类的属性和方法;能操作到父类的能被父类访问修饰符允许的属性和方法,只有当本类中调用被重写前的效果时使用super.的方法。

使用super的目的是访问直接父类中被屏蔽的成员,注意是直接父类(就是类之上最近的超类)。

示例:

class Parent { 	// instance variable 	int a = 10; 	// static variable 	static int b = 20; } class Base extends Parent { 	void rr() { 		System.out.println(super.a); 		System.out.println(super.b); 	} 	public static void main(S<div>本文来源gaodai.ma#com搞##代!^码@网3</div>tring[] args) { 		new Base().rr(); 	} }

运行输出:

区别总结:

this关键字:表示当前对象,也就是当前类对象,调用当前的类成员(变量和方法);

super关键字:表示当前类的父类,调用父类的成员(变量和方法);

this.的使用范围要比super.的范围更大。

this()与super()的简单介绍

1、this()和super()都是使用只能使用于构造方法中,

2、this()调用本类的构造,如果括号内有形参,则是调用本类的与之相对应参的构造方法;super()调用父类指定的构造方法,

3、都只能写在构造方法的第一句;

4、super()可以不写,在不写的时候会默认调用父类的无参构造,

5、this()与super()不能共存,两者只能使用一个。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多相关视频教程推荐:java教程!

以上就是java关键字super和this是什么?有什么区别?的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java关键字super和this是什么?有什么区别?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址