当前位置 博文首页 > 好处_和诸多细节,重要_chenchw的博客:方法的定义
import java.util.Scanner;
public class Change{
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
MyTools tool = new MyTools();
int[][] map = {{0,0,1},{1,1,1},{1,1,3}};
tool.printArr(map);
}
}
class MyTools{
// 编写一个方法,用来接受二维数组
public void printArr(int[][] 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( " ");
}
}
}
1、创建一个对象,用的是2次的类。
2、创建的方法是在类里面的。要是使用的话,我们就需要对象.方法(是否需要传递参数)
1、提高代码的复用性:
2、可以将实现的细节封装起来,然后提供给用户调用。
成员方法的定义:
? public 返回数据类型 ?方法名(参数列表){
? ?? ?语句;
? ?? ?return 返回值;
? }
1、参数列表:表示成员的输入
2、返回的数据类型:表示成员方法的输出,void表示没有返回值。
3、return不是必须的,若是int等数据类型,就需要return。此时是需要返回值的。
4、public? 访问修饰符
?这里面数组的定义是要好好想想的。
1、访问修饰符的作用:控制方法使用的范围。
2、返回数据类型
? ? ? ? 一个方法最多只能有一个返回值
? ? ? ? ?那怎么返回两个返回值呢?(可以使用数组。)
返回的类和输入的类型不是一回事啊,可以不同,输入的值可以是int,但是返回的值可能是数组。
import java.util.Scanner;
public class Change{
public static void main(String[] args){
Aa p1 = new Aa();
int[] map = p1.getSumAndSub(4,5);
System.out.println("两个结果是 " + map[0] + map[1]);
}
}
class Aa{
// 返回一个数组
public int[] getSumAndSub(int n1,int n2){
int[] resArr = new int[2];
resArr[0] = n1 + n2;
resArr[1] = n1 - n2;
return resArr;
}
}
3、如果方法有要求返回数据类型,则方法体中最后执行的语句必须有return? 值 ,而且要求返回值类型必须和return的值的类型一致或者兼容。
若是没有返回值的话,编译就会报错哦。显示没有返回值。
4、如果方法是void,则方法体中可以没有return语句,或者就可以只写return。
5、方法名:和变量名一样,和类不一样。
在实际开发中,我们的俄方法都是为了完成某个功能的,所以方法名要有一定的规则,最好见名知意。
形参列表的细节:
1、一个方法可以多个参数,也可以没有参数。中间用,号间隔。
2、参数类型可以为任意类型,包含基本类型和引用类型。
3、调用方法时,传入的数据一定要是方法规定的数据类型,或者说是兼容的数据类型。
4、方法定义时的参数叫做形参,定义时的参数。
? ? ? ? 方法调用的时候的参数叫做实参。传入时的参数。
5、传递参数的时候必须传递形参(定义方法时的参数)指定的个数。不然就会报错。
形参中的数据类型可以不一样。(int n ,double w,String n1,int[] map)
5、方法中不能嵌套定义。
调用方法的注意细节:
1、同一个类中的方法可以调用。
我的理解:定义对象的时候,需要用到类,这个类中的方法是可以被以这个类定义的对象直接调用的。其他的对象就不能使用这个类中的方法。若想要使用必须用该类创建一个对象。
? ? ? ? 在类里面{},要是用到类中的方法就可以直接调用,不用再定义对象。
?
?2、
我的理解:定义对象的时候,需要用到类,这个类中的方法是可以被以这个类定义的对象直接调用的。其他的对象就不能使用这个类中的方法。若想要使用必须用该类创建一个对象。然后在去调用。
比如在A类中想去调用B类中的方法,那就需要,在A类中用B类创建一个对象,然后用对象继续调用b中的方法
cs