类与对象(二)方法与重载

类中建的方法分为有参的方法和无参的方法俩种:
在这里插入图片描述
简单来说就是调用的时候可以找到不同的方法,例如:
我们new一个对象:
Demo d=new Demo()
d.showInfo(1);
接下来我们说一下传递参数,用一个例子说明:
在这里插入图片描述
这题的输出结果是什么?
这题的答案是8-----19
为什么呢?这里我们讲一下基本数据类型和引用数据类型的区别。
基本数据类型int ,int一个N=8,然后根据上面所说的参数,将n值赋值给num,num此时等于8,+1后等于9.重点来了,为什么最后输出的结果不是9而是8呢?因为,我们传递的是8这个值,把n=8的这个值传递出去后,sum接收了数值然后在空间里开辟了一个新的内存地址,和n不相同的内存地址。进行一番+1操作后,n的值还是8,也就是说 sum不论等于多少都不影响n=8.没有改变,所以最后的结果是8.那么为什么stu的值又是19了呢?
因为,student不是一个基本数据类型,他是引用数据类型,他所传递的信息是内存地址,也就是说,当stu等于18+1之后,他和原先的18所在的内存地址是相同的,输出后,直接找到了这个内存地址,也就是19.
在这里插入图片描述
接下来我们说一下构造方法:
什么是构造方法?
构造方法是一种特殊的方法,它是一个与类同名且无返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
在这里插入图片描述
构造函数的结构式:修饰符 类名(参数列表){方法体}
没有返回值类型。
构造函数没有别的作用,就是初始化成员变量。就这么记忆就可以了。
在上面的代码中我们用到了成员变量和局部变量,那么什么是成员变量什么又是局部变量呢?
成员变量是写在类中的,他的作用域是整个类,也就是说整个类都是使用这个变量,而成员变量是在这个类里面的某一个方法中的,他的作用域只有在那个方法里。
非常的好理解。如果成员变量和局部变量的名字相同,又想把局部变量的值赋值个成员变量的时候怎么做呢?我们可以用THIS关键字。
通过:this.name=name的方法到达目的。

成员变量和局部变量区别:
(1)在类中定义的变量叫作成员变量,在方法中定义的变量叫作局部变量。
(2)局部变量声明赋值以后在使用,成员变量可以不赋值,值就是默认值。例如String类型的默认值是null,
int类型的默认值是0
(3)局部变量只能在当前的方法中使用,在其他方法中不能使用。成员变量可以在整个类中使用。
(4)在一个方法中局部变量和成员变量重名了,方法中优先使用局部变量,
如果想在此方法中使用全局变量,需要使用this关键字。
this关键字,的作用是:

this关键字的作用:
(1)this关键字能够调用属性。(可以在构造方法中调用 也可以在实例方法中调用)
(2)this关键字调用本类中的方法。 注意:别调用成死循环了

(3)this关键字调用构造方法。如果在构造方法中使用this关键字调用其他的构造方法,this关键字应该放在构造方法的第一行。注意:别调用成死循环了

什么是方法的重载?
重载:
(1)在同一个类中
(2)方法名相同
(3)参数不同(参数个数不同或者参数类型不同)
(4)对返回值没有要求
在这里插入图片描述
在一个类中,方法名一样,参数不相同,没有返回值。这样就构成了方法的重载。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值