• 技术文章 >Java >java教程

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

    青灯夜游青灯夜游2018-11-21 14:13:07原创3729
    本篇文章给大家带来的内容是介绍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(); 
    	} 
    }

    运行结果:

    2.jpg

    php入门到就业线上直播课:进入学习

    注: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(); 
    	} 
    }

    运行输出:

    3.jpg

    区别总结:

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

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

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

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

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

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

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

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

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

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

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

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:java super this
    上一篇:springboot中过滤器和拦截器的实现方法介绍(代码) 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• JavaScript中this关键词的使用技巧、工作原理以及注意事项_javascript技巧• Python3里的super()和__class__使用介绍• Python中的super()方法使用简介• Python中的super用法详解
    1/1

    PHP中文网