这篇文章主要介绍了java关键字super和this有那些区别,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
成都创新互联公司是一家专业提供驿城企业网站建设,专注与成都网站设计、成都做网站、HTML5、小程序制作等业务。10年已为驿城众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。关键字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(String[] args) { new Base().rr(); } }
运行输出:
区别总结:
this关键字:表示当前对象,也就是当前类对象,调用当前的类成员(变量和方法);
super关键字:表示当前类的父类,调用父类的成员(变量和方法);
this.的使用范围要比super.的范围更大。
this()与super()的简单介绍
1、this()和super()都是使用只能使用于构造方法中,
2、this()调用本类的构造,如果括号内有形参,则是调用本类的与之相对应参的构造方法;super()调用父类指定的构造方法,
3、都只能写在构造方法的第一句;
4、super()可以不写,在不写的时候会默认调用父类的无参构造,
5、this()与super()不能共存,两者只能使用一个。
感谢你能够认真阅读完这篇文章,希望小编分享java关键字super和this有那些区别内容对大家有帮助,同时也希望大家多多支持创新互联成都网站设计公司,关注创新互联成都网站设计公司行业资讯频道,遇到问题就找创新互联成都网站设计公司,详细的解决方法等着你来学习!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。