分享

Java的this和重载

 太极混元天尊 2018-05-18

推荐阅读:


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关键字调用类成员)。 

答案在公众号回“构造方法重载”


公众号资源免费分享!!!

2017年某培训班最新视频+几十个项目免费分享 公众号输入“我要视频”


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多