public class Method02{
public static void main(String[] args){
int [][] map = {{0,0,1},{1,2,3},{4,56,78}};
//使用方法实现输出,创建一个tool
MyTools tool = new MyTools();
tool.printArr(map);
// 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();
// }
}
}
//将输出的功能,写到一个类的方法中,然后调用该方法即可
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] + "\t");
}
System.out.println();
}
}
}
成员方法的定义:
public 返回类型 方法名 (形参列表){
语句;
return 返回值;
}
成员方法的好处
提高代码的复用性
可以将实现的细节封装起来,然后供其他用户来调用即可。
注意事项和使用细节
//访问修饰符(作用是控制方法使用的范围)
//如果不写默认访问
//有四种(public ,protected,默认,private)。后面具体说
//
//返回数据类型(细节)
//1、一个方法最多有一个返回值,返回多个结果用数组。
//2、返回类型可以为任意类型,包含基本类型或引用类型(如数组,对象)
//3、如果方法要求有返回数据类型,则方法体中最后执行语句必须为 return 值;
//并且要求返回值类型必须和 return 值的数据类型一致。
//4、如果方法是void ,则方法体中可以没有return语句,或者只写 return;
//
//方法名
//驼峰命名法
//在实际工作中,我们的方法都是为了完成某个功能,所以方法名一定要见名知意。
//
//形参列表
//1、一个方法可以有0个参数,也可以有多个参数,中间用逗号隔开。
//2、参数类型可以为任意类型,包含基本类型或引用类型。
//3、调用带参数的方法时,一定对应着参数列表传入相同类型或兼容类型的参数!
//4、方法定义时的参数称为形式参数,简称 形参;方法调用时的参数称为实际参数,简称 实参;
//实参和形参的类型要一致或兼容,个数顺序必须一致。
//
//方法体
//写完成功能的具体的语句
//方法不能嵌套定义!!!
public class MethodDetail{
public static void main(String[] args){
AA a = new AA();
int[] res = a.getSumandSub(10,5);//返回多个数据 , 返回数组。
System.out.println("和等于" + res[0]);
System.out.println("差等于" + res[1]);
A b = new A();
b.sayOk();
b.m1();
}
}
class AA {
//
public int[] getSumandSub(int n1, int n2){
int[] resArr = new int[2];
resArr[0] = n1 + n2;
resArr[1] = n1 - n2;
return resArr;
}
}
//方法调用细节
//
//1.同一个类中的方法调用:直接调用即可
//
//
class A {
public void print (int n) {
System.out.println("print()方法被调用 n =" + n);
}
public void sayOk(){
print(100);
System.out.println("继续执行sayOk~~~");
}
//2.跨类中的方法A类调用B类方法:需要通过对象名调用
public void m1() {
System.out.println("m1()方法被执行");
B c = new B();
c.hi();
System.out.println("m1()方法被执行");
}
}
class B {
public void hi() {
System.out.println("B类中的hi()被执行");
}
}
//3.特别说明一下,跨类方法调用和方法访问修饰符相关,