- 浏览: 87499 次
- 性别:
- 来自: 广州
最新评论
继续我们的简单教学。今天我们会说说JAVA的方法定义,以及怎么去调用方法。
首先我们创建一个新的类:MethodCall
在做今天的教学之前,先说明一下java定义方法的格式:
上面用了正则表达式的写法来说明Java方法的定义格式,()?表示括号里面的东西可能出现,也可能不出现,()*表示()里面的东西可能出现多个,也可能不需要出现。现在来说明一下几个()的内容:
以下是一些方法定义的例子:
以上三个方法都是正确的。在这里我要特别强调一下,方法名和参数名虽然理论上来说只要遵循默认的规则:“不能以数字开始,不能为特殊关键字,不能带特殊符号”这三大原则就可以过关,但是我强烈要求大家按照JAVA的编程标准来进行命名,规则如下:
标准化的编码可以提高代码的可读能力,一方面可以体现你的编码水平,另一方面当你把代码贴出来给别人看,以帮你解决问题的时候也可以提高效率。尽量让你的代码具有可读性是程序员必要的修养之一。
好了,说了这么多,我们现在可以开始在MethodCall里面定义我们的实验方法了:
这个方法接受一个字符串类型参数param1,并且直接把它显示出来。
现在我们尝试在main里面调用这个方法:
执行结果就是显示了"Hello World"。这个就是方法的调用例子。在这里,"Hello World"字符串会在其进入publicStaticMethod中之前被分派到param1这个参数里面去,到了publicStaticMethod里面,方法体就会通过这个param1来对外部的输入进行统一的操作处理,而不会管它内部的实际内容是什么。
简单来说就是照单全收,像这个例子就是我输入什么,它就执白的显示什么!
然后我们继续我们的实验,来改一下modifier为private,创建另一个方法,并且带有return类型为字符串的:
这时,你会发现Eclipse会指示这个方法出错:
那么我们现在加个返回值:
注意return这个关键字,表示该方法到这里就会返回return后面的内容。该内容只能为和返回类型相同的类型或者为null。如果是基础数据类型(如int,char等)就只能返回基础数据类型,不能返回null。这个我们后续再说。
这个方法简单地把两个字符串串接起来,并且会返回给调用行这个串接的结果。我们来看看它的作用:
执行之后,除了第一行的Hello World,还会有第2行的HelloJJ。
就说明两个方法都调用成功了。那么public和private又有什么作用呢?static和final又有什么作用呢?
今天就差不多了,我先卖个关子。明天我再在后续内容对这两组指示器进行说明吧。
首先我们创建一个新的类:MethodCall
在做今天的教学之前,先说明一下java定义方法的格式:
(modifier)? (static)? (final)? returnType methodName((ParamType param)*) { //method body }
上面用了正则表达式的写法来说明Java方法的定义格式,()?表示括号里面的东西可能出现,也可能不出现,()*表示()里面的东西可能出现多个,也可能不需要出现。现在来说明一下几个()的内容:
名称 | 可选值 | 描述 |
modifier | public/protected/private | 描述此方法可被访问的权限策略类型。 |
static | static | 静态方法描述关键字,表示此方法是否静态方法 |
final | final | 恒量方法描述关键字,表示此方法是否不允许被继承类重写 |
returnType | java类或void | 如果为Java的一个类,说明此方法会返回一个此类型的值或者可能为null(空对象),如果为void则说明此方法不会返回任何值 |
ParamType | java类 | 和returnType一样 |
param | 参数名 | 参数名供方法体内部调用时使用 |
以下是一些方法定义的例子:
public void method1() { //method body }
private final String method2(String param1) { //method body }
Object method3(Object param1,int param2) { //method body }
以上三个方法都是正确的。在这里我要特别强调一下,方法名和参数名虽然理论上来说只要遵循默认的规则:“不能以数字开始,不能为特殊关键字,不能带特殊符号”这三大原则就可以过关,但是我强烈要求大家按照JAVA的编程标准来进行命名,规则如下:
- 除了数字之外都使用英文命名,不要用拼音
- 除第一个英文单词外,每个英文单词首字母大写,如helloMrJack
- 如果英文太长,使用常用的所写进行简化,如organization可以所写为org
- 方法和参数名要有意义,容易猜测其意思,不要使用arg1,arg2之类的名字做变量
- 对方法和复杂的代码逻辑使用适量的注释加以说明
标准化的编码可以提高代码的可读能力,一方面可以体现你的编码水平,另一方面当你把代码贴出来给别人看,以帮你解决问题的时候也可以提高效率。尽量让你的代码具有可读性是程序员必要的修养之一。
好了,说了这么多,我们现在可以开始在MethodCall里面定义我们的实验方法了:
package hello; public class MethodCall { /** * @param args */ public static void main(String[] args) { } /** * 定义一个非静态共有方法 * @param param1 */ public void publicStaticMethod(String param1) { System.out.println(param1); } }
这个方法接受一个字符串类型参数param1,并且直接把它显示出来。
现在我们尝试在main里面调用这个方法:
/** * @param args */ public static void main(String[] args) { publicStaticMethod("Hello World"); }
执行结果就是显示了"Hello World"。这个就是方法的调用例子。在这里,"Hello World"字符串会在其进入publicStaticMethod中之前被分派到param1这个参数里面去,到了publicStaticMethod里面,方法体就会通过这个param1来对外部的输入进行统一的操作处理,而不会管它内部的实际内容是什么。
简单来说就是照单全收,像这个例子就是我输入什么,它就执白的显示什么!
然后我们继续我们的实验,来改一下modifier为private,创建另一个方法,并且带有return类型为字符串的:
private static String privateStaticMethodWithReturn(String param1,String param2) { }
这时,你会发现Eclipse会指示这个方法出错:
那么我们现在加个返回值:
private static String privateStaticMethodWithReturn(String param1,String param2) { return param1+param2; }
注意return这个关键字,表示该方法到这里就会返回return后面的内容。该内容只能为和返回类型相同的类型或者为null。如果是基础数据类型(如int,char等)就只能返回基础数据类型,不能返回null。这个我们后续再说。
这个方法简单地把两个字符串串接起来,并且会返回给调用行这个串接的结果。我们来看看它的作用:
public static void main(String[] args) { publicStaticMethod("Hello World"); System.out.println(privateStaticMethodWithReturn("Hello","JJ")); }
执行之后,除了第一行的Hello World,还会有第2行的HelloJJ。
就说明两个方法都调用成功了。那么public和private又有什么作用呢?static和final又有什么作用呢?
今天就差不多了,我先卖个关子。明天我再在后续内容对这两组指示器进行说明吧。
发表评论
文章已被作者锁定,不允许评论。
-
JAVA简单教程:数据库操作(三)——PreparedStatement和动态SQL
2010-03-12 12:30 8617如果我们的SQL语句是固 ... -
JAVA简单教程:数据库操作(二)
2010-03-10 11:09 2134今天来分析一下上次的 ... -
JAVA简单教程:数据库操作(一)
2010-03-05 16:40 1866最近依然是事情太多,一直无法坚持每天写份blog,对不起大家。 ... -
每天JAVA简单教学:枚举类
2010-02-02 14:41 1510今天给大家介绍一个JDK1.5的新特性:枚举类 先来看看以下 ... -
每天JAVA简单教学:类定义,成员类,抽象类及接口类
2010-01-27 11:58 1561最近忙得快疯掉了,而且着凉了病得好辛苦。。。不过今天还是能抓紧 ... -
每天JAVA简单教学:类型强转
2010-01-19 11:56 7581关于类型,我们说了不 ... -
每天JAVA简单教学:简单数据类型、地址比较和值比较
2010-01-18 11:48 2248昨天说了布朗运算,今天详细解释一下其中的==运算符和Objec ... -
每天JAVA简单教学:布朗运算
2010-01-15 14:46 2230布朗值,就是true和false,对于产生这两个值的运算,就是 ... -
每天JAVA简单教学:基本运算符
2010-01-13 18:09 1061今天来介绍一些基础运算符,先用int整数类型做介绍,最后用St ... -
每天简单JAVA教学:循环语法(二)
2010-01-07 10:07 1436自从JRE升级到1.5以后,java的for循环就更加方便了。 ... -
每天简单JAVA教学:循环语法(一)
2010-01-06 13:32 2059现在开始介绍跟变成有密切关系的Java语法,首先来介绍循环的写 ... -
每天简单JAVA教学:super和this
2010-01-05 11:49 1542因为实在太忙这么多天来都没时间上来写东西,感觉非常对不起大家。 ... -
每天简单JAVA教学:变量
2009-12-28 16:02 1226很抱歉,最近事忙,所以很少有时间上来写东西,希望大家见谅。 ... -
每天简单JAVA教学:类继承,重写、重构及重载,final的用法
2009-12-23 12:25 3974昨天事忙,所以没时间给大家写blog,抱歉一下。 今天说的内 ... -
每天简单JAVA教学:JVM的内存管理,static的用法
2009-12-21 14:41 2567今天的主题是介绍static和final这两个指示器的用法。但 ... -
每天简单JAVA教学:Modifier
2009-12-18 10:31 9514昨天给大家介绍了怎么进行同一个类里面的方法调用,今天将会给大家 ... -
每天简单JAVA教学:第一个main程序分析
2009-12-16 23:12 1548上次我们轻松地完成了H ... -
每天简单JAVA教学:Hello World!
2009-12-16 00:39 1508以下文章只适合新手,新是很新很新的新。。。。自认对编程和JAV ...
相关推荐
达内java教程:方法调用 在程序中通常需要调用已经声明的方法,Java 根据具体情况使用了不同的调用方法。达内培训的java教程 分享给大家 达内郑州中心:http://www.hntarena.com/
java源码:Java调用本地库 JNAerator.zip
57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip...
在定义方法时,一个方法内不能再定义另一个方法,即不能嵌套定义,但是在调用一个方法的过程中,还可以调用另一个方法,这是方法的嵌套调用。 方法的嵌套调用 假设main方法中调用a方法,a 方法中调用b方法,具体流程...
Java反射 调用空参方法 调用Object类型参数的方法 调用基本类型参数的方法 调用基本类型数组参数的方法 调用String数组参数的方法 调用Object数组参数的方法 调用私有方法
java源码:Java本地调用接口 JNative.zip
Android Studio项目,此Demo实现Java调用C++函数,然后C++函数回调Java方法、纯C++直接调用Java方法,此为github地址链接
55.java方法调用.zip55.java方法调用.zip55.java方法调用.zip55.java方法调用.zip55.java方法调用.zip55.java方法调用.zip55.java方法调用.zip55.java方法调用.zip55.java方法调用.zip55.java方法调用.zip55.java...
java方法调用
java远程方法调用,可以实现远程调用,仅作参考
JAVA类的方法调用和变量 一、类的分类: 1、普通类 2、抽象类(含有抽象方法的类) 3、静态类(不需要实例化,就可以使用的类) 二、方法的分类: 1、私有方法(只有类的内部才可以访问的方法) 2、保护方法(只有...
利用java反射原理实现方法的动态调用。
java源码:调用远程API规范 XINS.zip
Java RMI远程方法调用详解-例子代码,例子详解在:http://blog.csdn.net/guyuealian/article/details/51992182
ACCP5.0 JAVA方法调用万年历!采用方法调用的形式来做的万年历·····
调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...
rmi 远程方法调用 客户端
Java程序设计基础:调用方法-方法的递归调用.pptx
可以看看,希望各位JAVA编程的朋友可以看看。
基于JavaParser的代码调用链分析,可以用于分析Java代码的方法调用链