Java基础-方法

2019-11-12 12:58:29 浏览数 (1)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42528266/article/details/102940085

什么是方法
  • 封装在一起来执行操作语句的集合,用来完成某个功能操作
  • 在某些语言中称为函数或者过程
  • 特殊的方法main,程序执行的入口
代码语言:javascript复制
public static void main(String [ ] args){
实现功能的语句
}
  • 不可能所有的功能都放到main中,需要定义其他方法完成指定功能,需要时调用方法即可
定义方法
  • 中文示例
代码语言:javascript复制
[修饰符] 方法返回值类型 方法名(形参列表 ) {
方法体
return 返回值;
}
  • 代码示例
代码语言:javascript复制
public static int add(int a, int b, int c) {
int k = a   b   c;
return k;
}
  • 修饰符:封装性时再讲,决定了方法的工作范围
  • 返回值类型:必选,如果没有返回值,须写void。方法只能返回一个值
  • 方法名:
  • 参数列表:可以0个、1个、多个,需要同时说明类型。称为形式参数
  • 方法体:完成具体功能。如果有返回值,必须有return语句;如果没有返回值,默认最后一条语句是return,可以省略。
代码语言:javascript复制
package com.cwl.base.day02;

/**
 * @program: java_base
 * @description: 测试方法的基本使用
 * @author: ChenWenLong
 * @create: 2019-11-06 14:12
 **/
public class TestMethod {

    public static void main(String[] args) {
        //通过对象调用普通方法
        TestMethod   tm  = new TestMethod();
        tm.printSxt();
        int c = tm.add(30, 40, 50) 1000;
        System.out.println(c);
    }

    void  printSxt(){
        System.out.println("北京尚学堂...");
        System.out.println("上海尚学堂...");
        System.out.println("广州尚学堂...");
    }

    int  add(int a, int b, int c){
        int  sum =  a b c;
        System.out.println(sum);
        return  sum;			//return 两个作用:1.结束方法的运行。2.返回值
    }
}
方法重载
  • 一个类中可以定义有相同的名字,但参数不同的多个方法调用时,会根据不同的参数表选择对应的方法。
代码语言:javascript复制
package com.cwl.base.day02;

/**
 * @program: java_base
 * @description: 测试方法重载
 * @author: ChenWenLong
 * @create: 2019-11-06 14:12
 **/
public class TestOverload {

    public static void main(String[] args) {
        System.out.println(add(3, 5));// 8
        System.out.println(add(3, 5, 10));// 18
        System.out.println(add(3.0, 5));// 8.0
        System.out.println(add(3, 5.0));// 8.0


        // 我们已经见过的方法的重载
        System.out.println();// 0个参数
        System.out.println(1);// 参数是1个int
        System.out.println(3.0);// 参数是1个double

    }
    /** 求和的方法 */
    public static int add(int n1, int n2) {
        int sum = n1   n2;
        return sum;
    }
 /*
  //编译错误:只有返回值不同,不构成方法的重载
    public static double add(int n1, int n2) {
        double sum = n1   n2;
        return sum;
    }
    //编译错误:只有参数名称不同,不构成方法的重载
    public static int add(int n2, int n1) {
        double sum = n1   n2;
        return sum;
    }
   */

    // 方法名相同,参数个数不同,构成重载
    public static int add(int n1, int n2, int n3) {
        int sum = n1   n2   n3;
        return sum;
    }
    // 方法名相同,参数类型不同,构成重载
    public static double add(double n1, int n2) {
        double sum = n1   n2;
        return sum;
    }
    // 方法名相同,参数顺序不同,构成重载
    public static double add(int n1, double n2) {
        double sum = n1   n2;
        return sum;
    }
}
判断依据
  • 同一个类
  • 同一个方法名
  • 不同:参数列表不同(类型,个数,顺序不同)
  • 注意:
    • 只有返回值不同不构成方法的重载
    • 只有形参的名称不同,不构成方法的重载

0 人点赞