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()
需出现在构造方法的第一行,且不能同时出现
-
-
this
和super
异同小结super()
:调用基类中的某一个构造函数(应位于构造函数中的第一条语句)this()
:调用本类中另一种形式的构造函数(应位于构造函数的第一条语句)super
:引用当前对象的直接父类中的成员this
:代表当前对象名- 调用
super()
必须写在子类构造方法的第一行,每个子类构造方法都隐含地调用super()
super()
从子类中调用父类的构造方法,this()
在同一类内调用其他方法this()
super()
均需放在构造方法的第一行this()
可以调用一个构造器,却不能调用两个this()
和super()
不能同时出现在一个构造函数里this()
和super()
都是代指对象,所以均不可以在static
环境中使用(包括static
变量、static
方法、static
语句块)- 从本质上讲,
this
是一个指向对象的指针,而super
是一个关键字
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了