this关键字和构造方法
public void setName(String name) { name = name; }
this:代表当前类的对象引用,这个this和我们现实生活中很多案例相似,
如:每一个人都有一个名字:张三、李四、王五....this就相当于我
1 2 3 | public void setName(String name) { this .name = name; } |
-
成员变量和局部变量重名
-
创建任意一个对象默认都会创建一个this的引用指向同一个堆区空间
-
this的设计就类似于现实生活中的代词 我的
-
默认一个类的成员都会省略掉this关键字
-
谁调用就会是谁的,this表示当前对象的引用
-
this只能出现在类的内部
this的本质就是一个对象,引用,实例,变量。只不过和创建的对象指向了同一个块堆区的空间,
使用this对堆的空间做了修改那么一样会修改对象本身。
应用的场景:
-
当成员变量和局部变量重名的情况
-
需要在类的内部访问本类的成员
-
this访问本类的构造方法的时候
有参和无参构造方法
特点:
-
构造方法没有返回值,连void关键字也没有
-
方法名必须和类名相同
-
方法体一般都是用来给成员变量赋值的
-
如果我们没有自己添加构造方法,系统会默认给我们提供一个无参构造方法
-
如果我们自己添加了构造方法,那么会覆盖掉系统提供的默认的构造方法
-
构造方法也可以进行重载
-
可以通过this关键字来实现构造器之间的相互调用,但是只能放置在构造器的第一行
无参的构造方法:
如果我们没有显示的定义任何的构造方法,那么系统会给我们提供一个默认的无参构造方法同样,如果我们显示的添加了构造方法那么默认的无参构造方法就不会提供了
public class a1 { public static void main(String[] args) { Users u = new Users(1,"张三",10); System.out.println(u); } } class Users{ private int id; private String name; private int age; //无参 public Users() { } //有参 public Users(int id, String name, int age) { this.id = id; this.name = name; this.age = age; }
对构造方法进行重载
public Users(int id){ this.id=id; }
public Users(int id, String name, int age) { // this (); //表示调用无参构造方法 this (id); //表示调用有参的id //this.id = id; this.name = name; this.age = age; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix