初探方法
1,方法的本质以及作用
方法没有什么神秘的,方法其实就是一段可以完成某个特定功能的代码,而且可以被重复调用。Java 中方法又叫做method ,在c 语言中叫做函数。
只要是可以独立出来的功能,我们都可以定义为单独的一个方法来完成,如果以后需要使用此功能时我们直接调用这个方法就行了。
2,方法的定义和调用
通过下面这段代码及其注释,来体会方法的定义格式:
[修饰符列表 ] 返回值类型 方法名 (形式参数列表){
方法体;
}
例如如下代码:
public static void sumInt(int a,int b){
int c=a+b;
System.out.println(a+"+"+b+"="+c);
}
public static 是修饰符列表;
void 是返回值类型;
sumInt 是方法名
(int a,int b)是形式形参列表,简称形参,每一个形参都是局部变量;形参后面使用一对儿大括号括起来的是方法体,方法体是完成功能的核心代码,方法体中的代码有执行顺序的要求,遵循自上而下的顺序依次执行,不存在跳行执行的情况。
当一个方法声明之后,我们应该如何去让这个方法执行呢?调用方法的格式是:“类名.方法名(实际参数列表);”。
具体方式见下例:
public class MethodTest03{
public static void main(String[] args){
sumInt(100,200); //"类名."可省略
Other.doOther();//"类名."不可省略
}
public static void sumInt(int x,int y){
System.out.println(x+"+"+y+"="+(x+y));
}
}
public class Other{
public static void doOther(){
System.out.println("Other doOther...");
}
}
//程序输出
100+200=300
Other doOther...
通过以上程序的分析,我们也可以得出一个结论:当方法在同一个类中时,此时可以省略“类名.”,但是如果方法不在同一个类中,则不能省略!
方法重载(overload)
方法重载(overload)是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数个数。调用方法时通过传递给它们的不同个数和类型的实参来决定具体使用哪个方法。
代码满足什么条件的时候构成方法重载呢?满足下面的三个条件:
- 1,同一个类中。
- 2,方法名相同。
- 3,参数列表不同:个数不同算不同,顺序不同算不同,类型不同算不同。
不知道你有没有觉得每次输出的时候“System.out.println();”这行代码很麻烦,接下来我们封装一个工具类,来看一个方法重载在实际开发中的应用,请看以下代码:
public class U{
public static void p(){
System.out.println();
}
public static void p(int data){
System.out.println(data);
}
public static void p(long data){
System.out.println(data);
}
public static void p(float data){
System.out.println(data);
}
public static void p(double data){
System.out.println(data);
}
public static void p(Sting data){
System.out.println(data);
}
}
public class UTest{
public static void main(String[] args){
U.p("hello world!");
U.p(10);
U.p(9.0);
}
}
通过以上代码,是不是感觉输出变方便了呢?当然,你需要把U.java文件编译生成的U.class文件拷贝到你的硬盘当中,一直携带着,什么时候需要了,把U.class文件放到classpath 当中就可以使用了。
总结
学会定义方法,调用方法,掌握方法的重载机制,有兴趣还可以理解方法的递归算法以及递归时的内存变化。