美文网首页技术干货
【麦兜】Java基础知识巩固——面向对象(方法详解和重载)

【麦兜】Java基础知识巩固——面向对象(方法详解和重载)

作者: 风骚的麦兜 | 来源:发表于2017-05-26 17:12 被阅读0次

方法是类或对象的行为特殊的抽象,方法是类或对象最重要的组成部分

如果需要定义一个方法,只能在类里定义,不能独立定义一个方法,所有的方法都必须使用“类.方法”或“对象.方法”来调用

所以方法可以总结一下三点:

①方法不能独立定义,方法只能在类里定义

②方法要么属于该类本身,要么属于该类的一个对象

③方法不能独立执行,方法必须类或者对象作为调用者

举个栗子:

定义方法

可以看到,上面的代码报错了,因为我们在类外定义方法,而下面我们在类里定义方法,代码就不会报错。


Java方法的参数传递方法只有一种,那就是值传递

值传递就是将实际参数的副本,也就是复制品传入方法内,参数本身是不受影响的

举个栗子:

值传递例子 值传递例子结果

到这里我们可以看到,主方法中的a和b将值传入swap方法中,swap方法将a和b的值修改了,但是主方法内的a和b的值并没有改变。


使用static修饰的方法属于该类本身,既可以使用类来调用,也可以使用对象来调用,由于static修饰的方法还是属于这个类,所以用该类的任何对象调用这个方法会得到相同的结果;

不使用static修饰的方法属于该类对象,只能使用对象来调用,使用不同的对象可能得到不同的结果。


这里,我们还涉及到一个问题,如果方法名相同怎么办?毫无疑问,如果是完全相同的两段代码的话,程序就会报错

例如:

相同方法名报错

这时候就说到我们的重载问题了。


重载(方法重载和构造器重载)

同一个类里面有多个方法或者构造器,多个方法或者构造器的形参列表不同的话,在同一个类里是不会报错的,这样编写多个相同名称的方法或者构造器,就被称作重载。

举个栗子:

重载

可以看见,虽然我们设置了多个构造器和多个方法,但是我们的形参是不一样的,所以程序不会报错。


如果有帮助请记得收藏,如果有错误请帮忙指出来!

相关文章

网友评论

    本文标题:【麦兜】Java基础知识巩固——面向对象(方法详解和重载)

    本文链接:https://www.haomeiwen.com/subject/ylsxfxtx.html