Java编程那些事儿52—方法声明

来源:互联网 发布:ed2k协议软件下载 编辑:程序博客网 时间:2024/06/06 02:14
第七章 方法
         方法(method),在面向过程的语言中称作函数(function),在汇编语言中称作子程序,是一个代码功能块,实现某个特定的功能。在实际的程序开发中,方法是一种基础的组织代码的方式。本部分就介绍方法相关的概念、相关语法以及实际使用时需要注意的问题。
7.1 方法概述
         方法的概念来源于数学上的函数,在数学中,当数据具有一定的规律时,就是用一个函数来代码该数字的规律,例如f(n)=n则代表1、2、3、……这样的一个数列。在数学上n是参数,对于确定的n值只有一个f(n)的值和它对应。
         方法是一组为了实现特定功能的代码块的集合。方法在语法上的功能主要有以下两个:
结构化代码
将代码按照功能进行组织,使代码的结构比较清晰,容易阅读和修改,也就是程序的可维护性强。
减少代码重复
一个固定的功能,可能会在程序中多次使用,在使用时只需要调用写好的方法,而不用重复书写对应的功能代码。
方法在书写时需要注意以下两点:
逻辑严谨
方法实现的一个完整的功能,所以在书写时要考虑到各种可能的情况,并对每种情况做出恰当的处理。
通用性强
方法实现的是一种功能,在实际实现时,可以根据需要,使方法具备一定的通用性,除非必要,否则不要写专用的方法。
         在Java语言中,恰当的使用方法,将使程序更加优雅,便于阅读和使用。下面就来介绍方法声明的语法格式。
7.2 方法声明
         方法声明写在代码中类声明的内部,方法声明的外部,伪代码如下:
                   public class Hello{
                            方法声明1
                            方法声明2
                            ……
                   }
         在Java语言中,方法声明之间没有顺序。
方法声明,就是声明一种新的功能,或者说创造一种新的功能。例如以下是一个求int数据绝对值的方法声明代码:
                   public int abs(int n){
                            if(n > 0){
                                     return n;
                            }else{
                                     return –n;
                            }
                   }
         这里就实现了求int值绝对值的功能,为了使该功能通用,使用一个参数n代表需要求绝对值的数值,在方法内部使用求绝对值的逻辑:正数的绝对值是自身,负数的绝对值是相反数,使用return语句将方法运算的结果返回。
         具体方法声明的语法格式如下:
                   访问控制符 [修饰符] 返回值类型 方法名称(参数列表){
                            方法体
                   }
         在实际声明一个方法时,需要依次确定以上内容。下面是具体的说明:
1、 访问控制符
访问控制符限定方法的可见范围,或者说是方法被调用的范围。方法的访问控制符有四种,按可见范围从大到小依次是:public、protected,无访问控制符,private。其中无访问控制符不书写关键字即可。具体的范围在后续有详细介绍。
2、 修饰符
修饰符是可选的,也就是在方法声明时可以不书写。
修饰符是为方法增加特定的语法功能,对于方法实现的逻辑功能无影响。方法的访问控制符有五个,依次是:
static——静态的
final——最终的
abstract——抽象的
synchronized——同步的
native——本地的
具体修饰符的作用在后续内容中将详细介绍。
3、 返回值类型
返回值类型是指方法功能实现以后需要得到的结果类型,该类型可以是Java语言中的任意数据类型,包括基本数据类型和复合数据类型。如果方法功能实现以后不需要反馈结果,则返回值类型书写为void。
在实际书写方法时,需要首先考虑一下方法是否需要反馈结果,如果反馈结果,则结果的类型是什么?这个根据方法的需要进行确定,例如上面求绝对值的方法,int类型的绝对值还是int类型,所以把返回值类型做成int型。
在方法声明里声明返回值类型,便于方法调用时获得返回值,并对返回值进行赋值以及运算等操作。
4、 方法名称
方法名称是一个标识符,用来代表该功能块,在方法调用时,需要方法名称来确定调用的内容。
为了增强代码的可读性,一般方法名称标识符和该方法的功能一直,例如实现数组排序的方法,可以将方法名称设定为sort。
在Java编码规范中,要求方法的首字母小写,而方法名称中单词和单词间隔的第一个字母大写,例如bubbleSort。
5、 参数列表
参数列表是声明方法需要从外部传入的数据类型以及个数,例如上面求int类型绝对值的方法,每次需要从外部传入一个int类型的值,这就需要在参数列表部分进行声明,语法格式为:
           数据类型 参数名称
多个参数时的格式为:
           数据类型 参数名称1,数据类型 参数名称2,……
声明参数时,类型在前,名称在后,如果有多个参数时,参数和参数之间使用逗号进行分割。
参数的值在方法调用时进行指定,而在方法内部,可以把参数看作是已经初始化完成的变量,直接进行使用。
参数列表部分是方法通用性的最主要实现部分,理论上来说,参数越多,方法的通用性越强,在声明方法时,可以根据需要确定参数的个数,以及参数的类型。参数在参数列表中的排列顺序只和方法调用时有关。
6、 方法体
方法体是方法的功能实现代码。方法体部分在逻辑上实现了方法的功能,该部分都是具体的实现代码,不同的逻辑实现代码区别会比较大。
在方法体部分,如果需要返回结果的值,则可以使用return语句,其语法格式为:
           return 结果的值;
或无结果返回时:
           return;
如果方法的返回值类型不是void,则可以使用return返回结果的值,要求结果值的类型和方法声明时返回值类型必须一致。如果返回值类型是void时,可以使用return语句实现方法返回,而不需要返回值。当代码执行到return语句时,方法结束,所以return语句的后续书写顺序的代码,例如:
           return 0;
           int n = 0; //语法错误,永远无法执行到该语句
另外,如果返回值类型不是void时,需要保证有值返回,例如下面的方法就有语法错误:
           public int test(int a){
                    if(a < 0){
                             return 0;
                    }
           }
则该方法的声明代码中,当a的值大于等于零时,则没有返回值,这语法上称作返回值丢失,这个也是在书写return语句时需要特别注意的问题。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 别人盗取手机号的通讯录该怎么办 58简历看不到真实号码怎么办 淘宝更换手机号码说已注册怎么办 系统把qq冻结了怎么办 qq被永久冻结好友怎么办 群发不小心发错怎么办 qq群成员满了怎么办 qq知道密码没手机号验证怎么办 改房本上的名字怎么办 支付宝租给别人怎么办 微信麻将房间卡怎么办 皮肤挤伤了发黑怎么办 指甲被挤了黑了怎么办 手指被挤了变黑怎么办 榆次买房太原户口怎么办 皮肤又红又黑怎么办 打仙桃晃晃老输怎么办 微信支付忘了摇怎么办 苹果手机微信摇一摇摇不了怎么办 打麻将牌背的时候怎么办 打麻将背的时候怎么办 同城游台球初使化失败怎么办 qq密码改忘了怎么办啊 qq头像显示不出来怎么办 qq的重要数据被清理怎么办 把qq数据删除了怎么办 手机qq头像显示不同怎么办 手机qq图片显示不出来怎么办 微信群聊右上角双人头像没了怎么办 支付宝好友没了怎么办 手机qq好友头像没了怎么办 微信语音变成听筒模式怎么办 微信语音为听筒模式怎么办 微信设置成听筒模式怎么办 微信验证看不全怎么办 qq看视频无法放大怎么办 苹果6功能键坏了怎么办 qq显示不了头像和图片怎么办 关于学校随便更换老师家长怎么办 qq群昵称改不了怎么办 电脑qq群视频进不去怎么办