JAVA小白学习心得之构造方法与普通方法,方法重载以及this关键字的使用

目录:
一.接触了了两天JAVA的一点小感受;
二.构造方法与普通方法的应用;
三.方法重载的使用;
四.this关键字的运用;
五.结尾。

一.接触了了两天JAVA的一点小感受:
作为一名软件工程系的大一新生,在大一上学期简单地了解了C++的小知识后,决定学习JAVA语言,今天是我学习JAVA语言的第二天,在我的老师的鼓励之下,决定每隔一段时间谢谢博客来发表自己的一些浅显的看法,用以记录自己在JAVA这条路上的成长过程,今天是我的第一篇博客,肯定会有很多的不足之处,希望看过这篇博客的各位学长学姐或者前辈抑或比我年龄小但是比我拥有更丰富经验的学弟指点,我甚为感谢!

二.构造方法与普通方法的应用:
好啦,开始进入正题了,经过两天的了解,我明白了Java是一门完全面向对象的编程语言;类和对象是面向对象编程的基础和核心;面向对象编程思想是来源于现实生活中的具体场景、情况或关系;面向对象编程就是使用面向对象编程思想设计的代码格式来模拟生活中的具体场景。今天我想跳过对象的定义,类的组成,类的基本格式以及实例化对象和调用属性方法的格式重点来谈谈构造方法和普通方法,方法的重载以及其中的this关键字。
首先来看看构造方法:
public 构造方法名(数据类型 参数名,…){

}
这时候一定要注意,
1).构造方法的方法名一定要与类名完全一致,包括大小写,否则就会报错。
2).构造方法一定不能定义返回值的数据类型。
3).如果你没有定义构造方法,则JAVA会提供一个无参数的默认构造方法;如果你自定义了构造方法,则默认的构造方法会被覆盖,无法使用,只能用你自定义的构造方法。
关于上述的注意事项,我想举个简单的例子。
在这里插入图片描述
这里我并未定义构造方法
在这里插入图片描述
但是我在这里直接将dijia类实例化一个di对象并且显示其的energy属性,发现其结果为0;
在这里插入图片描述
这说明系统提供了一个默认的构造方法,且将di的属性energy初始化为0;紧接着,我提供一个构造方法:
在这里插入图片描述
同样将dijia类实例化一个di对象并且显示其的energy属性
在这里插入图片描述
这时候我按照我自己定义的构造方法将di的energy属性初始化为100,显示结果自然而然是100。
在这里插入图片描述
因此我们我们验证了注意事项里面的条,同时还明白了构造方法的两个用途 1).实例化对象;
2).给属性设置初始值;

有构造方法,当然还有普通方法,下面简单举一个定义普通方法的小例子:
在这里插入图片描述
基本格式大概是这样:public 返回类型 方法名(参数类型 参数,…){
自己写自己想要的操作;
}
这里就不用多说了,总结一下构造方法与普通方法的区别:
1).构造函数的名称总是和它的类名一致。
2).构造函数没有返回值,即不可以为它指定任何类型的返回值,包括void。
3).在构造函数的第一条语句中,可以调用同类的另一个构造函数或者父类的构造函数。
4)构造函数不能由编程人员显式的直接调用。
5)构造函数的主要作用是完成对类对象的初始化。
三.方法重载的使用
接下来介绍一下JAVA里面的方法重载:方法重载有三个条件:
1).方法名必须要完全一致,包括大小写;
2).方法所带的参数个数、参数类型、参数顺序至少要有一个不同。
3).同一个类中,有继承关系的类中也可以进行方法重载。
第二条中尤其要注意“至少有一个不同”这几个字!!也就是说,方法名相同,只要个数,顺序,类型中有一个不同就是重载!!!
方法重载之后的调用是如何实现的呢?
调用重载的方法时会根据所给的参数值来决定调用哪一个方法,例如
在这里插入图片描述
我重载了fight函数,参数类型不同,那么接下来调用时,
在这里插入图片描述
我调用了两次zhandou函数,输出结果是:
在这里插入图片描述
这说明系统会根据你给的参数来判断调用哪一个方法。
四.this关键字的运用
接下来再说说this关键字,
this关键字有两个用途:
当参数名和属性名完全一致时;Java会采用就近原则,把方法中的名字都默认为参数名;(把参数赋给参数和属性没有任何关系)。
例如:
在这里插入图片描述
当我的构造方法是这样的时候,由于就近原则,右边一个energy是参数,左边也是参数,相当于把参数赋给参数,因此输出di的energy是0;
在这里插入图片描述
在这里插入图片描述
因为参数给参数,相当于没把参数给对象的属性,所以对象的属性energy为0;
然而在实际做项目的时候,类会有N个属性,属性的类型有很多是一致的,当你给参数的时候,怎么知道哪一个参数要赋给对应的属性呢?这时候为了好分辨就会把参数名写的和属性名一致。然而这样就会导致无法给属性正常赋值,所以就需要使用this关键字来做区分啦,加上this的就表示属性,没加的就表示参数。

这样一改在按照刚才一模一样的方法显示energy
在这里插入图片描述
则结果就是正确的了。

this的第二个用途:
this(参数值,…):调用的是对应参数的构造方法。
在这里插入图片描述
这样也可以调用对应参数的构造方法。
如果要调用普通方法呢?
this.普通方法名(参数值,…);
在这里插入图片描述
这样在构造了一个dijia对象并且将参数energy赋给该对象之后,会接着调用该对象的一个zhandou函数。
在这里插入图片描述
结果当然是90
在这里插入图片描述
此时this就是表示当前调用方法的对象。
五.结尾
好了,这就是我的第一篇博客啦,很开心在为高数绞尽脑汁之之时发现了另一件好玩的事情,以后我会用自己的博客来记录自己学习JAVA由浅入深的过程,希望看到这篇博客的各位朋友能给予我很好的意见或建议,让我在学习JAVA这条路上吸收更多知识!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值