基本介绍
在某些情况下,我们要需要定义成员方法(简称方法)。比如人类:除了有一些属性外( 年龄,姓名..),我们人类还有一 些行为比如:可以说话、跑步..,通过学习,还可以做算术题。这时就要用成员方法才能完成。现在要求对 Person 类完善。
成员方法的定义
public(访问修饰符) 返回数据类型 方法名(形参列表..) {//方法体 语句;
return 返回值;}
解释:
(1) 形参列表:表示成员方法输入
eg:person(int n) , getSum(int num1, int num2)(2) 返回数据类型:表示成员方法输出, void 表示没有返回值
(3) 方法主体:表示为了实现某一功能代码块
(4) return 语句不是必须的。
快速入门案例
(1) 添加 speak 成员方法,输出 “我是一个好人”
public class Method {
//编写一个main方法
public static void main(String[] args) {
Person p1 = new Person();//创建对象
p1.speak(); //调用方法
}
}
class Person {
public void speak() {
System.out.println("我是一个好人");
}
}
(2) 添加 cal01 成员方法,可以计算从 1+..+1000 的结果
public class Method {
//编写一个main方法
public static void main(String[] args) {
Person p1 = new Person();//创建对象
p1.cal01(); //调用cal01方法
}
}
class Person {
public void cal01() {
int res = 0;
for(int i = 1; i <= 1000; i++) {
res += i;
}
System.out.println("cal01方法的计算结果=" + res);
}
}
(3) 添加 cal02 成员方法,该方法可以接收一个数 n,计算从 1+..+n 的结果
public class Method {
//编写一个main方法
public static void main(String[] args) {
Person p1 = new Person();//创建对象
p1.cal02(5); //调用cal02方法,同时给n = 5
p1.cal02(10); //调用cal02方法,同时给n = 10
}
}
class Person {
public void cal02(int n) {
//循环完成
int res = 0;
for(int i = 1; i <= n; i++) {
res += i;
}
System.out.println("cal02方法 计算结果=" + res);
}
}
(4) 添加 getSum 成员方法,可以计算两个数的和
public class Method {
//编写一个main方法
public static void main(String[] args) {
Person p1 = new Person();//创建对象
/*把 方法 getSum 返回的值,赋给 变量 returnRes
然后调用getSum方法,同时num1=10, num2=20
*/
int returnRes = p1.getSum(10, 20);
System.out.println("getSum方法返回的值=" + returnRes);
}
}
class Person {
public int getSum(int num1, int num2) {
int res = num1 + num2;
return res;//返回res的值
}
}
成员方法的好处
(1) 提高代码的复用性
(2) 可以将实现的细节封装起来,然后供其他用户来调用即可
为什么需要成员方法
参考需求:
请遍历一个数组 , 输出数组的各个元素值。
解决思路 1:传统的方法,就是使用单个 for 循环,将数组输出。
解决思路 2: 定义一个类 MyTools ,然后写一个成员方法,调用方法实现
public class Method {
//编写一个 main 方法
public static void main(String[] args) {
int [][] map = {{0,0,1},{1,1,1},{1,1,3}};//遍历数组 , 输出数组的各个元素值
//遍历 map 数组
for(int i = 0; i < map.length; i++) {
for(int j = 0; j < map[i].length; j++) {
System.out.print(map[i][j] + "\t");
}
System.out.println();
}
}
}
这是传统方法,直接遍历,但如果要求再次遍历 map 数组,是不是还要写for循环?遍历一两次没问题,但如果公司 要求遍历100次,1000次,那岂不是要写100次,1000次的for循环?这样效率太低,还费劲,代码可读性不强,所以我们此刻要使用方法来完成输出:
public class Method {
//编写一个 main 方法
public static void main(String[] args) {
int [][] map = {{0,0,1},{1,1,1},{1,1,3}};//遍历数组 , 输出数组的各个元素值
MyTools tool = new MyTools();//创建 MyTools 对象
tool.printArr(map);//使用方法
class MyTools {
public void printArr(int[][] map) {
System.out.println("=======");
for(int i = 0; i < map.length; i++) {//对map数组进行遍历输出
for(int j = 0; j < map[i].length; j++) {
System.out.print(map[i][j] + "_");
}
System.out.println();
}
}
}
在这里使用方法tool.printArr(map);此刻可以省去很大力气去进行for遍历,比传统方法更加高效,省时省力
本文介绍了成员方法在编程中的重要性,通过实例展示了如何定义和使用成员方法,如speak、cal01、cal02和getSum,以提高代码的复用性和封装性。成员方法可以简化代码,提高效率,例如在遍历数组时,通过定义一个方法避免重复编写for循环。文章强调了使用成员方法在处理重复任务时的优势,并提供了使用方法代替传统循环的案例。
472

被折叠的 条评论
为什么被折叠?



