Java语言基础03-方法

方法 page 3 of 37


在面向对象中"方法"等同于非面向对象语言中的“过程”。也就是说,方法是一个程序的组成部分, 用来提供实现某个动作的机制(方法),如前面示例中的 barking。 对给定某个实体的实例,用"."连接实例与 class 中定义的方法来实现对行为的调用:

方法调用语法
<instance>.<behavior>()
<variable> = <instance>.<behavior>(<arguments>...)

譬如,让 dog fido 来 bark 一次的操作如下:


fido.bark()

从语法上说, Java 语言支持将数据传给方法和获取从方法返回的值,但上面示例中的调用既没传数据也没有返回值。

Java 是一门强调类型(strongly typed) 的语言, 它要求变量、变量的值、返回类型等都必须正确匹配, 部分原因在于数据类型是区分同名的多个方法的要素。 方法的返回类型和参数都是在定义的时候就给定的:

方法定义语法
void <method-name>(<arguments>...) {
<statements>...
}
<return-type> <method-name>(<arguments>...) {
<statements>...
}

方法名,返回类型以及参数表合起来叫方法标记(method signature)。在现代的 OO 语言中, 一个 class 内可以用同一名字定义多个方法, 只要它们的标记不同。此谓方法的重载(overloading)。 Java 中还规定,返回类型不能作为区分方法标记的因素, 因此,如果两个方法具有相同的名称和参数, 只是返回类型不同,是不允许出现在同一 class 中的。

在上例中,返回类型为 void 表明方法 bark() 无须计算出任何结果传回给调用它的程序块。同时,bark() 也被无参调用。按对象学的说法, 调用特定对象(即类的某个实例)的方法被称为消息传递(message passing)。在上例中,消息不含有附加数据(没有参数)。

至此,如果我们为 Dog 创建了一个实例,那么当它被激活时就能够 bark 了,但是我们尚无办法描述某些数据,比方说,让它 bark 多少次, 它是什么品种等等。在考察那些能使 Dog 这个数据类型更加通用的语言结构之前,我们还应先考虑 Java 语言的另一个方面,那就是,运行一个程序到底需要什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值