Java_this和super

this和super的用法

  • this关键字:

    this关键字只能在方法内部使用,表示对调用方法的那个对象的引用

    • 1-调用成员变量this.name = name

    • 2-调用构造方法

      public Student(){
      	this(String name,int age);
      }
      
      public Student(String name,int age){
      	this.name = name;
      	this.age = age;
      	System.out.println(name+" "+age);
      }
      

      通过一个无参构造器来调用另一个有参构造器

      new Studentt(){
      	this("默尔索",50);
      }
      

      注:this来调用构造方法,只能将其放在构造函数的第一行

    • 3-调用普通方法:this代指当前对象,用来调用当前类的普通方法

    • 4-返回当前对象

      public class ThisTest{
      	public Object newObject(){
      	return this;
      	}
      }
      
  • Super关键字

    Super关键字表示对父类对象的引用

    • 1-调用父类的构造方法

      子类默认通过super()调用父类的无参构造方法

    • 2-调用父类的成员属性:super.name

    • 3-d调用父类的方法:super.method()

    • 4-super()this()需出现在构造方法的第一行,且不能同时出现

  • thissuper异同小结

    • super():调用基类中的某一个构造函数(应位于构造函数中的第一条语句)
    • this():调用本类中另一种形式的构造函数(应位于构造函数的第一条语句)
    • super:引用当前对象的直接父类中的成员
    • this:代表当前对象名
    • 调用super()必须写在子类构造方法的第一行,每个子类构造方法都隐含地调用super()
    • super()从子类中调用父类的构造方法, this()在同一类内调用其他方法
    • this() super()均需放在构造方法的第一行
    • this()可以调用一个构造器,却不能调用两个
    • this()super()不能同时出现在一个构造函数里
    • this()super()都是代指对象,所以均不可以在static环境中使用(包括static变量、static方法、static语句块)
    • 从本质上讲,this是一个指向对象的指针,而super是一个关键字
posted @   Albert-ZZD  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示