024-二十四、Java的this和重载
this关键字
普通方法中,this
总是指向调用该方法的对象。
构造方法中,this
总是指向正要初始化的对象。
总结,其实this
主要要三种用法:
1、表示对当前对象的引用!
2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。
3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!
还有就是注意:this
不能用在static
方法中!所以甚至有人给static
方法的定 义就是:没有this
的方法!虽然夸张,但是却充分说明this
不能在static
方法中使用!
重载(Overload)
重载(overloading
) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。每个重载的方法(或者构造方法)都必须有一个独一无二的参数类型列表。最常用的地方就是构造器的重载。
重载规则
被重载的方法必须改变参数列表(参数个数或类型或顺序不一样);
被重载的方法可以改变返回类型;
被重载的方法可以改变访问修饰符;
被重载的方法可以声明新的或更广的检查异常;
方法能够在同一个类中或者在一个子类中被重载。
无法以返回值类型作为重载函数的区分标准。
由于上一节已经演示过构造方法的重载,在这里就只演示方法的重载了
如图:
【练习题】构造方法的重载:
定义一个名为 Vehicles
(交通工具)的基类,该类中应包含 String
类型的成员属性 color
(颜色),还应包含成员方法 run
(行驶,在控制台显示“小汽车已经开动了”),并编写2构造方法
无参构造:调用 run
方法
有参构造:调用无参构造,并且有个color
参数为string
类型,并且将参数赋值给成员变量,无参构造最后一句代码为System.out.println("小汽车是" + this.color + "颜色")
;
按照下面格式输出(请都使用this关键字调用类成员)。
答案在公众号回“构造方法重载”
写完了如果写得有什么问题,希望读者能够给小编留言,也可以点击[此处扫下面二维码关注微信公众号](https://www.ycbbs.vip/?p=28 "此处扫下面二维码关注微信公众号")
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
本文著作权归作者所有,如若转载,请注明出处
转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com