❤️一名热爱Java的大一学生,希望与各位大佬共同学习进步❤️ 🧑个人主页:@周小末天天开心 各位大佬的点赞👍 收藏⭐ 关注✅,是本人学习的最大动力 感谢!
目录
某些情况下,我们要需要定义成员方法(简称方法)。如人类:除了有一些属性外( 年龄,姓名..),我们人类还有一 些行为,如:可以说话、跑步..。这时就要用成员方法才能完成。
例题:
调用getSum成员方法,进行计算两个数的和,并返回计算后的值
public class Method01 {
public static void main(String[] args) {
Person p1 = new Person();
//调用getSum方法,同时num1=10, num2=20
//把 方法 getSum 返回的值,赋给 变量 returnRes
int returnRes = p1.getSum(10, 20);
System.out.println("getSum方法返回的值=" + returnRes);
}
}
class Person {
//添加getSum成员方法,可以计算两个数的和
public int getSum(int num1, int num2) {
int res = num1 + num2;
return res;
}
}
方法分析:
1)public 表示方法是公开的 2)int :表示方法执行后,返回一个 int 值 3)getSum 为方法名 4)(int num1, int num2) 形参列表,2个形参,可以接收用户传入的两个数 5) return res; 表示把 res 的值, 返回
输出结果为:
思考为什么需要成员方法。
看下面一个案例:
遍历一个数组,并输出数组中的值
使用for循环进行遍历
import java.util.Scanner;
public class Method02 {
public static void main(String[] args) {
int[] arr = new int[5];
Scanner myScanner = new Scanner(System.in);
System.out.println("====请输入五个整数====");
// 遍历数组进行赋值
for(int i = 0; i < arr.length; i++) {
arr[i] = myScanner.nextInt();
}
// 遍历数组并输出
for(int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
这样遍历虽然可行,但如果需要多次进行数组遍历的话就会很麻烦,代码量就会很多。所以我们就要使用引入成员方法,是我们的程序更加简洁和便利。
1)提高代码的复用性
2)可以将实现的细节封装起来,然后供给其他用户进行使用
定义格式:
访问修饰符 返回数据类型 方法名(形参列表..) { //方法体
语句;
return 返回值;
}
分析:
1)访问修饰符 主要包含 public 公共的,protected 受保护的,private 私有的 和 默认的(讲到包时会细讲)
2)返回数据类型 表示成员方法的返回值类型,void表示没有返回值
3)方法名 表示为该方法的名字
4)形参表列 表示成员的方法输入 如:cal(int n) , sum(int num1 , int num2)
5)方法体 表示为了实现某一功能的代码块
6)return 表示返回数据,可以不写
1)调用带参数的方法时,一定要对应着参数列表传入相同类型的数据
2)实参和形参的类型要一致或兼容、个数、顺序必须一致
3)一个方法最多有一个返回值,返回类型可以为任意类型,包含基本数据类型和引用数据类型
4)如果方法要求有返回值,则方法体中最后执行的语句必须是return语句,而且返回值类型要和return的值一样
5)如果方法是 void,则方法体中可以没有 return 语句,或者 只写 return
1.同一个类中的方法调用方式为 直接调用即可 2.跨类方法调用则需要通过对象名调用
public class MethodDetail {
public static void main(String[] args) {
A a = new A();
//a.sayOk();
a.m1();
}
}
class A {
//同一个类中的方法调用:直接调用即可
//
public void print(int n) {
System.out.println("print()方法被调用 n=" + n);
}
public void sayOk() { //sayOk调用 print(直接调用即可)
print(10);
System.out.println("继续执行sayOK()~~~");
}
//跨类中的方法A类调用B类方法:需要通过对象名调用
public void m1() {
//创建B对象, 然后在调用方法即可
System.out.println("m1() 方法被调用");
B b = new B();
b.hi();
System.out.println("m1() 继续执行:)");
}
}
class B {
public void hi() {
System.out.println("B类中的 hi()被执行");
}
}
执行程序,得到结果为:
成员方法基础部分知识(基础一定要打牢,一点一滴学起),后续会推出 方法传参机制、递归调用、重载等文章。