精华内容
下载资源
问答
  • ,让大家了解关键字super和this的作用关键字super和this的区别,以及简单介绍一下superL()和this()。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。关键字super和this是什么?有什么区别?this...

    详细内容

    本篇文章给大家带来的内容是介绍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();

    }

    }

    运行结果:

    d421baa37462eb2644c17e16d3efffc2.png

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

    }

    }

    运行输出:

    571d372071b46744edf4edf19101e59d.png

    区别总结:

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

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

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

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

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

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

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

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

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

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

    展开全文
  • 关键字super

    2021-05-12 21:26:07
    2.作用:调用父类属性,方法,构造器 3.使用: (1)调用属性和方法 ①在子类方法或构造器中,被重写方法声明属性或方法,通常情况下,我们习惯省略“super.” ②特殊情况,当子类和父类中定义了同名...

    1.理解:父类的

    2.作用:调用父类的属性,方法,构造器

    3.使用:

    (1)调用属性和方法

     

    ①在子类的方法或构造器中,通过使用“super.属性”或“super.方法”的方式,显式的调用父类中声明的属性或方法,通常情况下,我们习惯省略“super.”

    ②特殊情况,当子类和父类中定义了同名的属性时,必须显式的使用“super.属性”的方式才能在子类中调用父类中声明的属性,表明调用的是父类中声明的属性

    ③特殊情况,当子类重写了父类的方法以后,必须显式的使用“super.方法”的方式才能在子类的方法中调用父类中被重写的方法,表明调用的是父类中被重写的方法

    (2)调用构造器

    ①在子类的构造器中,通过使用“super(形参列表)”的方式,显式的调用父类中声明的指定的构造器

    ②“super(形参列表)”的使用,必须声明在子类构造器的首行

    ③在类的构造器中,“this(形参列表)”和“super(形参列表)”只能出现一个

    ④在构造器的首行,没有显式的声明“this(形参列表)”或“super(形参列表)”,则默认调用的是父类中空参的构造器

    ⑤在类的多个构造器中,至少有一个类的构造器中使用了“super(形参列表)”,调用父类的构造器

    展开全文
  • package org.westos_01_继承; /*  * 问题:  * 不仅要在控制台输出子类中局部变量值,还要输出子类成员位置变量值,怎么办?... * super:代表是父类存储空间标识(代表是父类
    package org.westos_01_继承;
    /*
     * 问题:
     * 不仅要在控制台输出子类中的局部变量的值,还要输出子类的成员位置的变量的值,怎么办?
     *
     * 现在要访问子类的成员变量num =20 ;
     * 谁能代表Zi2类,this关键字:代表的是当前类对象
     * 问题:要输出父类中的成员变量的值:
     * super:代表的是父类的存储的空间标识(代表的是父类的对象或者是父类的引用)
     * 应用场景:
     * 访问成员变量:
     * this.成员变量;访问的是本类的成员变量
     * super.成员变量:访问的父类的成员变量
     * 访问成员方法:
     * this.成员方法(); 访问的是本类的成员方法
     * super.成员方法();访问拿到父类的成员方法
     * 访问构造方法:
     * this():访问的是本类中的空参构造;this("..."):访问拿到是本类中的带参构造
     * super():访问拿到是父类中无参构造
     * super(".."):访问的是父类中的带参构造
     * */
    class Fu2{

    public int num = 10;
    }


    class Zi2 extends Fu2{
    public int num = 20 ;

    public void show(){
    int num = 30 ;
    System.out.println(num);//30
    System.out.println(this.num);//20
    System.out.println(super.num);//10
    }
    }


    //测试类
    public class ExtendsDemo5 {
    public static void main(String[] args) {
    //创建子类对象
    Zi2 z = new Zi2() ;

    z.show() ;
    }

    }

    package org.westos_01_继承;
    /*
     * 继承中构造访问的访问特点:
     * 1)子类中的构造方法默认访问的是父类的无参构造方法
     * 2)子类的构造方法默认的第一句话:super();
     * 
     * 为什么子类中的构造方法默认访问父类中的无参构造方法
     * 子类继承父类的时候,可能会使用父类的数据,所以在继承的时候,想让父类进行初始化,父类初始化完毕之后,子类才进行自己的初始化!
     * 子类的无参和有参第一句话有一个默认语句:super() ; 
     *
     * */
    class Father3{
    public Father3(){
    System.out.println("这是父类的无参构造方法...");
    }

    public Father3(String name){
    System.out.println("这是父类的带参构造方法...");
    }
    }
    //子类
    class Son3 extends Father3{
    public Son3(){
    ///super() ;
    System.out.println("这是子类的无参构造方法...");
    }



    public Son3(String name){
    //super() ;
    System.out.println("这是子类的有参构造方法...");
    }





    //测试类
    public class ExtendsDemo6 {
    public static void main(String[] args) {
    //创建对象
    Son3 s = new Son3() ;
    System.out.println("-------------------");
    Son3 s2 = new Son3("高圆圆") ;


    }
    }

    展开全文
  • super关键字的作用

    2019-09-11 21:01:47
    但是必须是在子类构造方法中使用super关键字来调用. 语法格式:super([参数列表]); 如果父类构造方法中包括参数,则参数列表为必选项,用于指定父类构造方法入口参数. 2.操作被隐藏成员变量和...

    1.调用父类的构造方法

     

    子类可以调用由父类声明的构造方法.但是必须是在子类的构造方法中使用super关键字来调用.

     

    语法格式:super([参数列表]);

     

    如果父类的构造方法中包括参数,则参数列表为必选项,用于指定父类构造方法的入口参数.

     

    2.操作被隐藏的成员变量和被重写的成员方法

     

    如果想在子类中操作父类中被隐藏的成员变量和被重写的成员方法,也可以使用super关键字.

    转载于:https://my.oschina.net/u/3820364/blog/1818437

    展开全文
  • 在静态方法当中不允许出现 this 关键字 super: 代表对当前对象直接父类对象引用 可以调用父类非 private 成员变量和方法 super(); 可以调用父类构造方法,只限构造方法中使用,且必须是第一条...
  • this 和 super 关键字的作用   this 是对象内部指代自身的引用,同时也是解决成员变量和局部变量同 名问题;this 可以调用成员变量,不能调用局部变量;this 也可以调用成员 方法,但是在普通方法中可以省略 this,在...
  • java 关键字super和this

    2019-09-28 12:59:45
    super关键字  作用:调用父类构造器  只能出现在子类构造其中,并且必须是第一行  super()中参数,决定了调用父类那个构造器  注:如果子类构造器中没有出现super,则默认加上super(),调用父类...
  • 通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中全局函数和全局变量。...super这两个关键字的意义和用法。在Java中,this通常指当前对象,super则指父类。当你想要...
  • this和super关键字的作用区别 this:是对象对自身的引用,没有继承也可以使用,调用本类的构造 super:对父类对象的引用,只能在继承条件下使用,调用父类的构造 super注意点: super调用父类的构造方法,必须在...
  • java中的super关键字是一个引用变量,用于引用父类对象。关键字super”以继承概念出现在类中。主要用于以下情况: 1.使用super与变量:当派生类和基类具有相同数据成员时,会发生此情况。在这种情况下,JVM...
  • 3.super的父类构造调用,必须是子类构造方法的第一个语句,不能一个子类构造调用多次super关键词。 总结: 子类必须调用父类构造方法,不写则赠送super(); 写了则用写的指定的super调用,super只能有一个,且必...
  • Java中关于super关键字的作用

    万次阅读 2019-01-07 20:57:52
    在子类继承父类中,一般有一行super的语句,需要记住三种使用方法: 1、super.变量/对象名; 使用这种方法可以直接访问父类中的变量或对象,进行修改赋值等操作 2、super.方法名(); 直接访问并调用父类中的方法 3、...
  • this表示当前对象引用(并不是当前对象),可以借助this来访问对象的字段和方法。 this关键字的作用: ...super关键字的作用: 调用父类的构造方法 去访问被隐藏的父类的属性 去调用被覆写的父类的方法 ...
  • 主篇主要是对 static、final、super、this、native、transient这6个关键字进行简单讲解。一、staticstatic关键字可以修饰变量、方法、代码块及内部类。/*** static 关键字学习* @author kobe**/public class ...
  • java中super和this的异同 super在一个类中用来引用其父类的成员。...super关键字的作用在于当前子类中覆盖了父类中的某个成员变量,或者重写了父类的某个成员方法时还能够访问到父类的成员变量和成员方法。如...
  • 然后发现 竟然把super和this傻傻分不清.... 开个帖子记录一下: 一、this关键字主要有三个应用: (1)this调用本类中属性,也就是类中成员变量; (2)this调用本类中其他方法; (3)this调用本类中...
  • super关键字

    2017-01-09 11:27:00
    super关键字的 作用: 1. 子父类存在着同名成员时,在子类中默认是访问子类成员,可以通过super关键字指定访问父类成员。 2. 创建子类对象时,默认会先调用父类无参构造方法,可以通过super关键字指定...
  • Java编程中this关键字super关键字的使用方法this总要有个事物来代表类的当前对象,就像C++中的this指针一样,Java中的this关键字就是代表当前对象的引用。它有三个主要的作用:1、在构造方法中调用其他构造方法。...
  • java的super关键字

    2016-11-03 21:53:07
    super关键字的 作用: 1. 子父类存在着同名成员时,在子类中默认是访问子类成员,可以通过super关键字指定访问父类成员。 2. 创建子类对象时,默认会先调用父类无参构造方法,可以通过super关键字指定调用...
  • super关键字的 作用: 1. 子父类存在着同名成员时,在子类中默认是访问子类成员,可以通过super关键字指定访问父类成员。 2. 创建子类对象时,默认会先调用父类无参构造方法,可以通过super关键字指定调用...
  • super 在JAVA类中使用super来引用父类成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类...所以,super关键字有以下两个用法: 1, 引用: 父类对象 访问父类被遮盖属性或调用父...
  • Java关键字super

    2019-08-12 20:02:00
    一.super关键字作用 1:主要存在于子类方法中,用于指向子类对象中父类对象。 2:访问父类属性 3:访问父类函数 4:访问父类构造函数 二.super注意地方 this和super很像,this指向是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 430
精华内容 172
关键字:

关键字super的作用是