Java学习笔记9 —— 方法定义

方法定义

    Java中的方法只能定义在类型中(包括接口、类、枚举类型)。

示例:
public double doSomethingMethod (double argOne, String argTwo, …) {
    // statements
}

方法的一般定义(6个部分):
1.    修饰符,例如:public, private, static, …;
2.    返回值类型——方法返回的数值类型或者对象类型,如果方法不返回任何值,则为void;
3.    方法名;
4.    由括号包围的参数列表——如果没有参数,保留空括号();
5.    异常列表;
6.    方法体,使用大括号{}包围。

方法签名:方法名+参数列表
方法签名是Java中识别方法的唯一依据。

方法定义示例的方法签名为:
doSomethingMethod (double argOne, String argTwo,…)

方法命名:
1.    小写动词,或者以小写动词开头的多个词的组合;
2.    多个词组合的方法名,从第二个词开始,每个词首字母大写。

重载方法:
在同一个类中定义多个方法名相同的方法,但是它们的方法签名不同(参数列表不同)。
注意:Java是通过方法签名区别不同方法,方法签名包括“方法名”和“参数列表”。只要方法列表中的参数“类型”和“数量”不同,就是不同的方法签名。
示例:
public class DataArtist {
    public void draw (String s) {
        // statements
    }
    public void draw (int i) {
        // statements
    }
    public void draw (double f) {
        // statements
    }
}

Ref: http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html
注意:
同一个类的方法中不能包含有相同方法签名的多个方法。
重载方法需要谨慎使用,使用重载方法可能降低代码的可读性。

方法参数名
方法参数名在所定义的方法内有效。
如果类定义中,域名和方法中的参数名相同,在方法中类的域被方法参数替代,叫做域遮蔽。如果在方法中要访问类的域,需要使用全路径访问。

示例:
public class Circle {
    private int x, y, radius;

    // 方法定义中的参数x和y与类定义中的域名x和y相同,
    // 在setOrigin方法中,方法参数遮蔽了域了类。
    public void setOrigin (int x, int y) {
        // 使用方法参数的x值
        System.out.print (x);

        // 使用类中的域x值,使用关键字this交访问符(.)组成域的全路径。
        System.out.print(this.x);
    }
}
Ref: http://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值