黑马程序员技术交流社区

标题: 技术帖 [打印本页]

作者: 刘先森^    时间: 2019-5-25 18:28
标题: 技术帖
方法的定义和调用及方法重载
方法也就是功能独立的代码块
定义方法三要素: 1.方法的功能 2.方法的参数 3.方法的返回值类型
方法的定义格式:修饰符(public static)  返回值类型  方法名(参数类型 参数名,参数类型2 参数名2,.....){
                                方法体;
                                return 返回值;
                }
返回值 :这件事情做完之后的结果
返回值类型: 这件事情做完后结果的类型,确定该方法有返回值 而且限定了返回值的数据类型
方法名:这件事情的名字
参数:做这件事情需要的东西
参数类型  : 参数的数据类型  
参数名:就是给参数取的一个名字
return :用来返回最终的结果.  两个作用,第一停止当前方法,第二将后面的返回值还给调用处

方法调用格式:  main方法里面   方法名(参数1,参数2...);
方法的调用:
                   方法名(实参);         
             实际参数: 方法调用的时候 (写的时候 就是一个常量)     
                         形式参数: 定义方法的时候  变量
方法的注意事项:
1.方法不能嵌套使用
2.返回值 如果有返回值类型(不是void) 都需要 return 表达式; return 方法一旦走到return 一般都是表示方法结束

方法重载:
条件: 在同一个类中
1.方法名相同
2.方法的参数不同(1.数据类型不同  2.参数的个数不同 3.参数的顺序不同)
注意:方法的重载判定规则与方法的返回值无关。

下面为大家举例我之前翻过的错误,希望大家不要像我这样傻就好:

1. 以下关于方法的定义,哪些是正确的(B D)

A:  public add(int a, String b) {
        return a + b;   //方法如果没有定义返回值类型会编译失败
}
B:  public double add(int a, int b) {
        return 3.14;     //考察返回值与返回值类型的匹配性,方法的返回值必须是一个能够匹配返回值类型的数据值
}
C:  public int add(int a, int b) {
        int c = a + b;       //考察方法中return语句执行流程的问题
        return c;          //一旦执行到return语句,后面的内容将不会执行
        System.out.println(c);    //如果return语句后面具有必定会执行的其他语句,程序会编译失败
}
D:  public int add(int a, int b) {
        return a + b;    //考察定义格式,正确

2. 下列程序执行时,会引发报错的代码行是(B )

public static void main(String[] args) {
        method1();                                      A  //第1行
    System.out.println( method2() );       B  //第2行
    double d = method3();                      C  //第3行
    int num = method3();                              D  //第4行
}

public static void method1() {
        System.out.println("天天开心");
}

public static void method2() {
        System.out.println("代码so easy!");   //该选项错误,method2方法并没有返回值,System.out.println()的println方法是需要传递参数的,但是method2方法并没有返回结果作为参数。
}

public static int method3() {
        return 3*5;

谢谢大家,希望大家都能有自己想要的未来!!!





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2