✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】
在某些情况下,需要定义成员方法(简称方法)。比如人类:除了有一些属性外( 年龄,姓名…),我们人类还有一些行为比如:可以说话、跑步…,通过学习,还可以做算术题。这时就要用成员方法才能完成。
举个栗子
/**
* ClassName: Person
* date: 2022/9/2 15:11
*
* @author DingJiaxiong
*/
public class Person {
String name;
int age;
public void speak(){
System.out.println("我是一个好人");
}
public void cal01(){
int res = 0;
for (int i = 0; i < 1000; i++) {
res += i;
}
System.out.println("cal01方法 计算结果=" + res);
}
public void cal02(int n){
int res = 0;
for (int i = 0; i <= n; i++) {
res += i;
}
System.out.println("cal02方法 计算结果=" + res);
}
public int getSum(int num1 , int num2){
int res = num1 + num2;
return res;
}
}
调用类
/**
* ClassName: Method01
* date: 2022/9/2 15:09
*
* @author DingJiaxiong
*/
public class Method01 {
public static void main(String[] args) {
Person p1 = new Person();
p1.speak();
p1.cal01();
p1.cal02(5);
p1.cal02(10);
int returnRes = p1.getSum(10 ,20);
System.out.println("getSum方法返回的值= " + returnRes);
}
}
运行结果


一个需求:遍历一个数组,输出数组的各个元素值
/**
* ClassName: MyTools
* date: 2022/9/2 15:18
*
* @author DingJiaxiong
*/
public class MyTools {
public void printArr(int[][] map){
System.out.println("========");
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map[i].length; j++) {
System.out.print(map[i][j] + "_");
}
System.out.println();
}
}
}
调用类
/**
* ClassName: Method02
* date: 2022/9/2 15:18
*
* @author DingJiaxiong
*/
public class Method02 {
public static void main(String[] args) {
int[][] map = {{0,0,1},{1,1,1},{1,1,3}};
MyTools tool = new MyTools();
tool.printArr(map);
}
}
运行结果

访问修饰符 返回数据类型 方法名(形参列表...){
//方法体
语句;
return 返回值;
}
/**
* ClassName: AA
* date: 2022/9/2 15:25
*
* @author DingJiaxiong
*/
class AA {
//方法不能嵌套定义
// public void f4(){
// public void f5(){
//
// }
// }
public void f3(String str,int n){
}
//返回多个结果,用数组
public int[] getSumAndSub(int n1,int n2){
int[] resArr = new int[2];
resArr[0] = n1 + n2;
resArr[1] = n1 - n2;
return resArr;
}
public double f1(){
double d1 = 1.1 * 3;
int n = 100;
return n;
}
public void f2(){
System.out.println("Hello1");
System.out.println("Hello1");
System.out.println("Hello1");
int n = 10;
return;
}
}
调用类
/**
* ClassName: MethodDetail
* date: 2022/9/2 15:25
*
* @author DingJiaxiong
*/
public class MethodDetail {
public static void main(String[] args) {
AA aa = new AA();
int[] res = aa.getSumAndSub(1 , 4);
System.out.println("和 = " + res[0]);
System.out.println("差 = " + res[1]);
}
}
运行结果

【访问修饰符(作用是控制方法使用的范围)】
如果不写默认访问,[有四种: public, protected, 默认, private]
【返回数据类型】
【方法名】
遵循驼峰命名法,最好见名知义,表达出该功能的意思即可, 比如 得到两个数的和 getSum, 开发中按照规范
【形参列表】
【方法体】
里面写完成功能的具体的语句,可以为输入、输出、变量、运算、分支、循环、方法调用,但里面不能再定义方法,即:方法不能嵌套定义。
【方法调用细节说明】
同一个类中的方法调用:直接调用即可。
跨类中的方法A类调用B类方法:需要通过对象名调用。
跨类的方法调用和方法的访问修饰符相关
