Java的方法和方法重载

来源:互联网 发布:打开xlsx文件的软件 编辑:程序博客网 时间:2024/06/05 03:49

退补选的时候听说程序设计模式这门课很水,就为了学分抢到了,没想到这门课主要是用Java讲的,于是回去学了学.

Java中的函数被称为方法,Java中的任何方法都必须在类中定义,定义一个方法的一般形式是这样:

[访问权限] 返回值类型 方法名称(形参列表) {        方法主体;    }

下面是一个求绝对值的例子

public class AbsoluteValue{  /*求绝对值的方法*/  public int abs(int x)  {    return ((x >= 0) ? x : -x);  }  /*main方法,程序入口*/  public static void main(String[] args)  {    //必须先实例化类的对象,才可以调用到其中的成员方法    AbsoluteValue obj = new AbsoluteValue();    int a = -8, b;    b = obj.abs(a);  //调用abs方法求a的绝对值    System.out.println(a + "的绝对值是" + b);  }}
这个例子只能求整形数据的绝对值,假如你想要求其它类型的绝对值,如果又定义了几个方法,这对调用者来说非常麻烦,这时候就可以用到方法重载

方法重载用于用于定义一组方法,这些方法具有相同的名称,并执行类似的操作,但是却使用不同的参数列表,而编译器会根据调用时的实际参数自动判断具体是哪个重载方法.

方法重载要满足三点:

1方法名相同2参数不同(包括数量不同,类型不同,顺序不同)3同一作用域
而方法重载与方法的返回值类型没有关系

下面是方法重载的一个示例

public class AbsoluteValue {  public int abs(int x) {//求整数的绝对值    return ((x >= 0) ? x : -x);  }  public float abs(float x) {//求浮点数的绝对值    return ((x >= 0) ? x : -x);  }  public double abs(double x) {//求双精度数的绝对值    return ((x >= 0) ? x : -x);  }  public long abs(long x) {//求长整型数的绝对值    return ((x >= 0) ? x : -x);  }  public static void main(String[] args) {    AbsoluteValue obj = new AbsoluteValue();    int a = -8, b;    b = obj.abs(a);    System.out.println(a + "的绝对值是" + b);    float c = -3.14f, d;    d = obj.abs(c);    System.out.println(c + "的绝对值是" + d);  }}
0 0
原创粉丝点击