`
jgnan
  • 浏览: 87499 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

每天简单JAVA教学:方法的调用

阅读更多
继续我们的简单教学。今天我们会说说JAVA的方法定义,以及怎么去调用方法。

首先我们创建一个新的类:MethodCall


在做今天的教学之前,先说明一下java定义方法的格式:
(modifier)? (static)? (final)? returnType methodName((ParamType param)*)
{
    //method body
}


上面用了正则表达式的写法来说明Java方法的定义格式,()?表示括号里面的东西可能出现,也可能不出现,()*表示()里面的东西可能出现多个,也可能不需要出现。现在来说明一下几个()的内容:
名称可选值描述
modifierpublic/protected/private描述此方法可被访问的权限策略类型。
staticstatic静态方法描述关键字,表示此方法是否静态方法
finalfinal恒量方法描述关键字,表示此方法是否不允许被继承类重写
returnTypejava类或void如果为Java的一个类,说明此方法会返回一个此类型的值或者可能为null(空对象),如果为void则说明此方法不会返回任何值
ParamTypejava类和returnType一样
param参数名参数名供方法体内部调用时使用


以下是一些方法定义的例子:
public void method1()
{
    //method body
}


private final String method2(String param1)
{
    //method body
}


Object method3(Object param1,int param2)
{
    //method body
}


以上三个方法都是正确的。在这里我要特别强调一下,方法名和参数名虽然理论上来说只要遵循默认的规则:“不能以数字开始,不能为特殊关键字,不能带特殊符号”这三大原则就可以过关,但是我强烈要求大家按照JAVA的编程标准来进行命名,规则如下:
  1. 除了数字之外都使用英文命名,不要用拼音
  2. 除第一个英文单词外,每个英文单词首字母大写,如helloMrJack
  3. 如果英文太长,使用常用的所写进行简化,如organization可以所写为org
  4. 方法和参数名要有意义,容易猜测其意思,不要使用arg1,arg2之类的名字做变量
  5. 对方法和复杂的代码逻辑使用适量的注释加以说明



标准化的编码可以提高代码的可读能力,一方面可以体现你的编码水平,另一方面当你把代码贴出来给别人看,以帮你解决问题的时候也可以提高效率。尽量让你的代码具有可读性是程序员必要的修养之一。

好了,说了这么多,我们现在可以开始在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又有什么作用呢?

今天就差不多了,我先卖个关子。明天我再在后续内容对这两组指示器进行说明吧。
  • 大小: 53.6 KB
  • 大小: 11.5 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

Global site tag (gtag.js) - Google Analytics