1.方法
定义:一段定义在类中的业务逻辑的代码.
目的:封装右业务关系的代码,实现代码的复用,即简化代码书写.
2.方法定义的格式
修饰符,返回值类型 方法名(数据类型1,形参名1,数据类型2,形参2...){
方法体;
return[返回值]
}
修饰符:目前固定写法:public static
返回值类型:如果没有返回值:void
如果有返回值,就是具体的数据类型(包括基本数据类型和引用数据类型)
方法名:根据命名规范,最好做到见名知意.
形参列表:形参的数据类型和形参名组成一个形参定义,多个形参之间用逗号分隔.
方法体:就是方法被调用时候执行的语句
return;表示方法体结束,如果返回值为void,后边一定不能加任何值.此时,return语句可以省略
如果有具体的返回值,后面一定要跟一个值(数据类型一致的常量,变量,表达式).
方法定义的位置:
目前位置:类中,main方法之外
方法不能嵌套定义.但是方法之间可以互相调用.
3.方法的调用
<1>.有明确返回值方法的调用
>>>给相应类型的变量赋值
int res = add(1,2);
System.out.println(add(1,2));
>>>单独调用
add(1,2);
<2>返回值为void方法的调用
>>>只能单独调用
print ();
public static voidmain(String[] args){int res = add(1,2);
System.out.println(res);
}//public static int add(int a,intb){return a +b;
}
有参数的方法被调用时,相当于给形参赋值.
方法的返回值返回给调用者
方法之间可以互相调用:
public static void main(String[] args){
introduce("Zhangsan");
}
//
public static void sayHi(){
System.out.println("Hello");
//
public static void introduce(String name){//name = "Zhangsan";
sayHi();//调用自定义方法
System.out.println("My name is : " + name);
}
4.方法的重载
eg1:
/*演示方法的重载
在一个类中,多个方法名相同,但是形参列表不同(个数或者类型)的方法,称为方法的重载(overload)
方法的重载和返回值无关.
两同一不同:
同类,同名
不同形参列表*/
public classOverloadDemo{public static voidmain(String[] args){int a = 1;int b = 2;double d = 1.5;//int res1 = add(a,b);//System.out.println(res1);
double res2 =add(a,b);
System.out.println(res2);
}/*public static int add(int a,int b){
return a + b;
}*/
public static double add(double a,intb){return 0;
}public static int add2(int a,int b,intc){return a + b +c;
}public static double add1(double d1,doubled2){return d1 +d2;
}
}
eg2:
/*重载演示*/
public classOverloadDemo2{public static voidmain(String[] args){
test(1);int a = 1;
test(a);short s = 1;
test(s);
}public static void test(shorts){
System.out.println("short类型形参的方法被调用");
}public static void test(ints){
System.out.println("int类型形参的方法被调用");
}
}
eg3
/*方法重载2*/
public classOverloadDemo3{public static voidmain(String[] args){int r1 = add(1,1);
System.out.println(r1);double r2 = add(1.0,2.0);
System.out.println(r2);
}public static int add(int a,intb){return a +b;
}public static double add(double d1,doubled2){return d1 +d2;
}
}