方法是类或对象的行为特殊的抽象,方法是类或对象最重要的组成部分
如果需要定义一个方法,只能在类里定义,不能独立定义一个方法,所有的方法都必须使用“类.方法”或“对象.方法”来调用
所以方法可以总结一下三点:
①方法不能独立定义,方法只能在类里定义
②方法要么属于该类本身,要么属于该类的一个对象
③方法不能独立执行,方法必须类或者对象作为调用者
举个栗子:

可以看到,上面的代码报错了,因为我们在类外定义方法,而下面我们在类里定义方法,代码就不会报错。
Java方法的参数传递方法只有一种,那就是值传递
值传递就是将实际参数的副本,也就是复制品传入方法内,参数本身是不受影响的
举个栗子:


到这里我们可以看到,主方法中的a和b将值传入swap方法中,swap方法将a和b的值修改了,但是主方法内的a和b的值并没有改变。
使用static修饰的方法属于该类本身,既可以使用类来调用,也可以使用对象来调用,由于static修饰的方法还是属于这个类,所以用该类的任何对象调用这个方法会得到相同的结果;
不使用static修饰的方法属于该类对象,只能使用对象来调用,使用不同的对象可能得到不同的结果。
这里,我们还涉及到一个问题,如果方法名相同怎么办?毫无疑问,如果是完全相同的两段代码的话,程序就会报错
例如:

这时候就说到我们的重载问题了。
重载(方法重载和构造器重载)
同一个类里面有多个方法或者构造器,多个方法或者构造器的形参列表不同的话,在同一个类里是不会报错的,这样编写多个相同名称的方法或者构造器,就被称作重载。
举个栗子:

可以看见,虽然我们设置了多个构造器和多个方法,但是我们的形参是不一样的,所以程序不会报错。
如果有帮助请记得收藏,如果有错误请帮忙指出来!
网友评论