方法就是完成特定功能的代码块,在很多语言里面都有函数的定义,函数在Java中被称为方法。
——格式
修饰符 返回值类型 方法名(参数类型 参数名1,…) {
函数体;
return 返回值;
}
修饰符:public static。
返回值类型:用于限定返回值的数据类型。
方法名:一个名称,为了方便我们调用方法。
eg:run,toString
参数类型:限定调用方法时传入参数的数据类型
参数名:是一个变量,接收调用方法时传入的参数
方法体:完成功能的代码
return:结束方法以及返回方法指定类型的值
返回值:程序被return带回的结果,返回给调用者
当代码执行了return语句,那么代码就不往下执行了,直接退出这个方法并返回
写方法的时候注意两个明确
返回值类型:明确功能结果的数据类型
参数列表:明确有几个参数,以及参数的类型
方法调用
——有明确返回值的方法调用
单独调用,没有意义;
输出调用,有意义,但是不够好,因为不一定非要把结果输出;
赋值调用,推荐方式;
——没有明确返回值的函数调用:
其实就是void类型方法的调用,只能单独调用
方法注意事项:
方法不调用不执行;
方法与方法是平级关系,不能嵌套定义;
方法定义的时候参数之间用逗号隔开;
方法调用的时候不用在传递数据类型;
如果方法有明确的返回值,一定要有return带回一个值;
参数的传递方式(Java方法)
方法中定义的参数我们通常叫做形参,调用有参数的方法时,我们通常会传递一些实参给方法
Eg:
public void add(int temp){ //temp是形参
.....}
main{
add(1); //1是实参, temp = 1;
int a = 10;
add(a); //a是实参, temp = a;
}
——值传递
方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值。
——引用传递
也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。
不定长参数(Java中的)
如果一个方法的参数定为不定参数的话,这个参数可以根据参数个数动态生成一个数组,然后传入方法执行。
不过,不定参数有两个规定:第一,方法的参数列表中最多只有一个不定长度的参数;第二,就是不定长度的数组的位置必须是最后一个参数。不然不能通过编译。
对于第一个规定,是因为如果有多于一个不定长度的参数,当真正调用这个方法的时候,JVM、将不知道前面的不定长度参数有多长,下一个参数是从哪里开始.
对于第二个参数也是一样,编译器不知道不定长度参数的长度,无法确定从哪里开始下一个参数。
创建和初始化对象
按照前面讲述的定义类的形式、定义方法的形式,构建好类了之后,程序要真实的运行,还是得通过对象的交互来完成。创建好了类,只是创建了构建对象的模板。接下来,我们可以通过new操作符,快速地构建出对象。使用new有以下作用有以下几步:
1.为对象分配内存空间,将对象的实例变量自动初始化默认值;
2.如实例变量显示初始化,将初始化值赋给实例变量(把默认值覆盖掉);
3.调用构造方法;
4.返回对象的地址值;