版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42528266/article/details/102940085
什么是方法
- 封装在一起来执行操作语句的集合,用来完成某个功能操作
- 在某些语言中称为函数或者过程
- 特殊的方法main,程序执行的入口
public static void main(String [ ] args){
实现功能的语句
}
- 不可能所有的功能都放到main中,需要定义其他方法完成指定功能,需要时调用方法即可
定义方法
- 中文示例
[修饰符] 方法返回值类型 方法名(形参列表 ) {
方法体
return 返回值;
}
- 代码示例
public static int add(int a, int b, int c) {
int k = a b c;
return k;
}
- 修饰符:封装性时再讲,决定了方法的工作范围
- 返回值类型:必选,如果没有返回值,须写void。方法只能返回一个值
- 方法名:
- 参数列表:可以0个、1个、多个,需要同时说明类型。称为形式参数
- 方法体:完成具体功能。如果有返回值,必须有return语句;如果没有返回值,默认最后一条语句是return,可以省略。
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.返回值
}
}
方法重载
- 一个类中可以定义有相同的名字,但参数不同的多个方法调用时,会根据不同的参数表选择对应的方法。
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;
}
}
判断依据
- 同一个类
- 同一个方法名
- 不同:参数列表不同(类型,个数,顺序不同)
- 注意:
- 只有返回值不同不构成方法的重载
- 只有形参的名称不同,不构成方法的重载