天天看点

java中对方法的理解

一·基本的概念

java里的方法和C里面的函数很相似,在面向对象的程序中,习惯叫做方法,而面向过程的程序中习惯叫做函数。

定义:解决 一类问题的代码的有序组合,是一个功能模块。

二·基本的格式

访问修饰符 访问值类型 方法名(参数列表){

方法体

}

1,访问修饰符:方法允许访问的权限范围,可以是 public,private,protected甚至可以省略,其中 public 表示该方法可以被 其他任何代码调用

2,访问值类型:可以有返回值也可以没有返回值,就像C语言一样。

3,方法名:需要使用合法的标识符

java的标识符:由字母,数字,下划线(“_”),和符号(“$”)组成,但开头不能由数字组成

java的方法名和变量的标识符命名规则:第一个单词的首字母要小写,从第二个单词开始单词的首字母需要大写(例如:firstName)

4,参数列表:根据方法是否带参、是否带返回值,可将方法分为四类:

1)无参无返回值方法

2)无参带返回值方法

3)带参无返回值方法

4)带参带返回值方法

对于Java中的方法参数传递,无论传递的是原生数据类型,还是引用类型,统一是传值。

5,方法体:方法体包含具体的语句,定义该方法的功能

三·方法调用

按照有无返回值主要可以分为两类:有返回值和没有返回值

1,有返回值:

有参数的传递
public class TestMax {
   /** 主方法 */
  public static int max(int num1, int num2) {
      int result;
      if (num1 > num2)
         result = num1;
      else
         result = num2;
      return result; 
   }/** 返回两个整数变量较大的值 */
   public static void main(String[] args) {
      int i = ;
      int j = ;
      int k = max(i, j);
      System.out.println(k);
   }
}
           

输出的结果为5;这部分就像C语言一样理解就可以了,很多的返回值规则就和C是一样的。(函数部分在上面或者是在下面都可以,结果一样)

没有参数的传递(没有形参但是有返回值),需要新创建一个对象
例如下面的:HelloWord hello=new HelloWord();
以及后面的调用:int sum=hello.calcSum();
public class HelloWord {
    public int calcSum(){
        int a=;
        int b=;
        int sum=a+b;
        return sum;
    }
    public static void main(String [] args){
        HelloWord hello=new HelloWord();
        int sum=hello.calcSum();
        System.out.println(sum);
    }
}
           

输出结果为17,如果没有上面的被标出来的语句或者是把它改成C语言的模式,会报错。

2,没有返回值的情况

无参的情况
public void show(){
System.out.println("HelloWord");
}
           
带参数的情况
当然这种情况必须注意参数传递的方法:举例:
HelloWord hello=new HelloWord();
hello.show(参数值);
public void show(String name){
System.out.println("name");
}
           

总结一下:

要注意的部分就是需要传参数的时候的,传递参数的方法和C语言的不一样,其他部分的要求和C语言的一样。

四·方法的重载

基本的定义:

如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。

判断方法重载的依据:

1、 必须是在同一个类中

2、 方法名相同

3、 方法参数的个数、顺序或类型不同

4、 与方法的修饰符或返回值没有关系

区分调用的是哪个方法:按照C语言读函数的方式一样理解。

http://www.cnblogs.com/lavender-li/p/5681790.html