方法
一.方法的概括
1.方法定义:
指的就是能完成特定功能的代码段. 例如: main println print nextInt每个方法都能完成特定的工程, main: 程序的入口, println 带有换行的输出 print不带换行的输出 nextInt接受用户从控制台录入的整数.
2.方法用途
如果某段代码(某个功能)经常被使用, 每次用都要写一遍,做的都是重复(类似)的操作, 为了简化程序的设计难度, 使用一个大括号,把这段代码包裹起来, 然后取一个名字, 将来要使用这段代码的时候,直接使用这个名字就可以访问这段代码.
3.方法的好处:
1.提高了代码的复用性
2.提高了代码的封装性, 别人在使用方法是不能直接看到内部的实现,他只需要会调用即可.也能提高程序的安全性.
3.简化了程序的设计难度
二. 方法的定义
1. 方法的定义的格式
修饰符 返回值类型 方法名(参数列表 ) {
方法体;
}
2. 方法格式的说明:
修饰符:
用来修饰方法访问权限, 目前全部都用: public static
返回值类型:
方法都具有一定的功能, 有可能会有一些数据产生, 就需要将数据返回给方法的调用者. 定义方法时需要告诉方法的调用者,应该使用什么样的数据类型接收方法产生的数据. 简单说: 返回值类型就是方法内部产生数据的数据类型. 注意:没有数据产生这里写: void (空) 例如: int nextInt() 告诉调用者使用int类型变量接受返回的数据
方法名:
就是给封装的代码段起的名字,小驼峰命名法,见名知意即可.例如: getMaxOfTwo
参数列表:
这段代码要完成功能时,可能会需要一些数据, 这些数据就需要通过参数列表传入到方法的内部. 需要告诉调用者你要传入什么类型数据.
参数列表的书写格式 (数据类型1 参数名1, 数据类型2 参数名2, ...) 这样调用者就知道要传入什么类型数据,以及传入几个数据.
例如: public static void chu(int a, int b) 我这方法需要要除法的运算, 需要外界把做除法运算的被除数和除数传入到方法内容,就在参数列表中,声明这个 参数,告诉调用者要传入两个int类型数据进来.
如果一个方法不需要外界传入数据, 参数列表就只写一个小括号: 比如public static void printStarRect()
方法体:
能完成特定功能的代码段
如果方法内部有数据产生, 需要使用return(返回)关键字, 把方法内部产生的数据返回给调用者.
return 数据;
只要方法的返回值类型不是void.就必须写return,把要返回的数据跟到后面.
三. 方法的调用
1. 方法不调用是不会执行的
2. 方法调用的格式:
方法名(实际参数)
实际参数: 就是让方法执行,真实传入的数据
3. 方法调用的其他形式
1. 直接调用
使用没有返回值产生的方法 方法名(实际参数);
2. 赋值调用
必须是有返回值产生的方式, 数据类型 变量名 = 方法名(实际参数);
3. 打印(输出)调用
必须是有返回值产生的方法
System.out.println(方法名(实际参数));
四.方法根据是否有返回值是否有参数的分类
1.无参数无返回值 -->无参无返
修饰符 void 方法名() {
方法体;
}
2.无参数有返回值 --> 无参有返
修饰符 数据类型 方法名() {
方法体;
return 数据;
}
3.有参数无返回值 --> 有参无返
修饰符 void 方法名(数据类型1 参数名1, 数据类型2 参数名2,....) {
方法体;
}
4.有参数有返回值 -->有参有返
修饰符 数据类型 方法名(数据类型1 参数名1, 数据类型2 参数名2,....) {
方法体;
return 数据;
}
五. 方法使用的注意事项
1. 方法定义的注意事项
1. 方法是不能嵌套定义的, 方法必须定义一个类后面的大括号中
2. 方法定义先后是没有区别的
3. 方法之间是平级的关系,没有优先级
2. 方法的调用:
1. 方法是可以嵌套调用的, 就是在一个方法中调用其他方法
2. 甚至一个方法可以自己调用自己, 这种现象叫做递归调用, 递归有风险, 效率极低(实际开发中基本不用)
3. 方法参数注意事项
1.定义方法的时候,叫做形式参数 (形参), 形参的书写格式 (数据类型 参数名, 数据类型 参数名, ...) 每个参数名前都要数据类型, 每定义完一个后要加逗号, 如果是最后一个就不加,
形参的作用: 告诉调用者需要什么类型数据以及的数据的个数.
2.调用方法的时候, 叫做实际参数(实参), 就是真正参与执行的数据,
1 )实参不要数据类型(直接常量, 变量名 )
2 )实参的数据类型一定要形参的数据类型一致(形参式类型,实参可以是小类型)
3 )实参的个数一定要形参的个数一致
4 )实参的顺序一定要形参的顺序一致
4. return语句
1. 第一个作用,就是把有返回值的方法中产生的数据返回给调用者 return 数据;
2. 如果一个方法的返回值类型不是void, 那么就必须提供return语句.
3. 第二个作用, 可以提前结束一个方法, 一般用来结束返回值为void的方法.
4. 一个方法如果没有数据产生,也可以写return关键字, 但是必须写为: return; 表示提前结束方法
5. return语句之后不要在写代码了,方法执行时执行完return方法就结束,因为那段代码不能执行到,编译会报错.
方法的重载
1. 重载: Overload
2. 方法的重载概念:
在同一个类中, 方法名相同,但是参数列表不同,与返回值类型无关, 这样多个方法之间的关系就是重载.
3. 概念的说明:
1. 在同一个类中:
必须是写在一个类中的方法, 不同类的中是不可能发生重载的.
2. 方法名相同:
方法名要一模一样
3. 参数列表不同:
参数的类型不同, 参数的个数, 参数的顺序不同. 与参数的名字没有关系.
4. 与返回值类型无关:
即使返回值类型不同, 也不算重载, 这叫做方法重复.
4. 方法重载的好处
如果没有方法的重载, 咱们有很多个相同逻辑的代码段(方法),就需要为这多个相同逻辑的代码段取多个名字, 对于方法定义这来说,取名就是一个很重的负担. 同样对于方法的调用者来说也是一种负担,因为要记忆大量的名字.
有了重载之后,同一个类中相同逻辑的代码段,就可以只取一个名字, 定义方法的人工作量减轻了,调用者只需要记忆一个名字,就能访问多个相同逻辑的方法.