java菜鸟的回炉之旅之十一----方法
2017-04-23 23:34
155 查看
方法
1、什么是方法呢?方法其实就相当于其他语言里面的函数。是一段用来完成特定功能的代码段。方法的格式:访问权限修饰符
修饰符 返回值类型 方法名(形式参数列表){方法体}。看如下代码:public class Demo {
public static void test(){
System.out.println("方法测试!");
}
public static void main(Stringargs[]) {
test();
}
}
我们看到的test()就是一个方法定义,这个方法的功能是向控制台输出“方法测试”四个字。
2、那方法有什么好处呢?最大的好处就是是代码可以更好地重复使用,一个方法写好之后,可以在很多地方调用,可以多次调用。比如这一次,可以在main方法里面调用,也可以在别的地方调用。以后凡是用到这个方法的地方都不需要再写那么多代码了,直接调用一下就好了。
3、方法中存在的一些术语,如下:
a) 修饰符:向上面的代码一样,public
和static都属于是修饰符,具体是什么修饰符呢?以后会讲到的。
b) test是方法名,以后调用方法,那就要通过这个方法名才能知道调用的是什么方法。
c) test方法名后面的就是参数列表,也叫形式参数列表,放在里面的参数称为形参,是方法用来接收外部输入参数的地方,例子里是个无参的参数列表,下面给一个有参的参数列表,如下:test(int a ;int b)。像这样,a和b就是形参,就是外部向方法输入数据的地方。这个参数列表可以有多个参数,也可以有不同数据类型的参数,因为方法要完成很多不同的功能,就有可能需要用到很多种类型的参数。
d) 与形式参数相对应的叫做实际参数简称实参,实参是调用方法是,实际传给方法的参数。
e) 返回值类型:方法在定义的时候,根据业务类型的不同,可能会需要有数据返回也可能没有数据返回,说以需要返回值类型和返回值这个概念。返回值就是指方法执行之后返回的那个具体的数据,比如一个求和的方法返回的那个;而返回烈类型就是指这个返回值的数据类型。具体的返回值类型,可以是基本数据类型的、也可以是引用数据类型的。需要注意的是,void也是一个返回类型,表示没有返回值返回的意思。
4、那java当中如何调用方法呢?格式如下:对象名.方法名(实参);注意了,这个时候是在调用方法了,所以参数列表里的是实参而不再是形参,形参是在定义方法的时候定义的参数,那个叫形参。形参与实参的区别就在于,形参不是具体的数据,而实参则是实际的具体的数据,比如1。调用方法的格式里面,对象名中什么是对象呢?以后会学习到的,在面向对象的那一个章节可以学到。
5、方法参数列表里面,参数的数据类型,参数数据,参数次序,在调用的时候,必须要注意,要注意调用时传的实参和定义时的形参保持一致,什么类型的数据,有几个参数,在什么位置,这些即是确认一个方法是不是目标方法的一个途径,也是调用参数时必须遵守的规则。
Return,这个在上面的代码例子中没有给出来,但是这个也是一个非常重要的关于方法的概念之一。Return就是在有些需要返回数据时,那个返回的标识。Return本身就是返回的意思。Return语句有两个做用,一个是返回值,另一个是结束方法的运行。如下:
public static int test(int a ,int b){
int sum =a+b;
if(a == 3){
return 0;
}
return sum;
}
6、java中调用方法是传递参数的时候,要遵循以下规则:基本数据类型的数据传递时数据值本身;引用数据类型的数据传递,传递的是对象的引用,而不是对象本身。记住:java只有值传递。这一点一定很难理解,不是说传递对象时是对象的引用而不是对象本身吗?那为什么说参数的数据传递只有值传递呢?我简单理解一下,因为对象的引用其实也是数值,只不过这个数值代表的不是实际的数字意义而是代表对象。而对象本身也不能用一个数值来理解,这太不严谨了。就像 1号,代表张三,1就是一个数值;反过来说张三是一个值,这有些不严谨。关于这一点的理解我,也还需要在工作中多积累。
相关文章推荐
- Java菜鸟学习笔记--面向对象篇(十一):&abstract方法/类
- Java程序员从笨鸟到菜鸟之(十一)多线程讲解
- Java程序员从笨鸟到菜鸟之(十一)多线程讲解
- Java并发学习之十一——同步方法
- 初学Java,调用父类方法(十一)
- 初学Java,调用父类方法(十一)
- Java基本功练习十一(递归与迭代【汉诺塔、文件大小的显示、递归的辅助方法、尾递归】)
- java程序员菜鸟进阶(十一)Extjs4常用功能(三)——列表grid的使用(带综合查询,分页)
- java程序员菜鸟进阶(十一) Extjs4常用功能(二)ExtJs xtype属性值一览表
- Java设计模式菜鸟系列(十一)迭代器模式建模与实现
- Java程序员从笨鸟到菜鸟之(十一)多线程讲解
- Java程序员从笨鸟到菜鸟之(六十)细谈Hibernate(十一)hibernate复合主键映射
- Java程序员从笨鸟到菜鸟之(四十九)细谈struts2(十一)OGNL表达式的基本语法和用法
- Java菜鸟学习笔记--面向对象篇(五):方法
- Java程序员从笨鸟到菜鸟之(十一)多线程讲解
- Java程序员从笨鸟到菜鸟之(十一)多线程讲解
- Java程序员从笨鸟到菜鸟之(四十九)细谈struts2(十一)OGNL表达式的基本语法和用法
- Java程序员从笨鸟到菜鸟之(八十二)细谈Spring(十一)深入理解spring+struts2整合(附源码)
- Java菜鸟学习笔记--面向对象篇(十六):Object类方法
- Java之美[从菜鸟到高手演变]之Linux篇——Linux下增加swap分区的方法