在Java中,接收者到底是什么或者接收者到底可以是什么?

问题描述 投票:0回答:1

我已经开始学习java了。到目前为止我所了解的方法调用是:

object.methodname(arguments)

虽然我更广泛地思考,但我发现它实际上是:

receiver.methodname(arguments)

并且接收者不一定是一个对象。或者也许我对对象的理解是错误的。我知道类定义了类型,而对象是该类的实例。调用方法就是向对象发送消息,并且该消息必须是对象能够理解的、由其类中的方法定义的内容。

但是...怎么样:

import java.lang.Math
double x = 16;
double y = Math.sqrt(x);
double z = Math.pow(x,y);

Math 是一个对象吗?我不相信是这样。到目前为止我的理解是Math是java.lang包中的一个“包类”。我还没有真正理解“包类”是什么,除了它是我可以使用的某种预先编写的函数库......

但是如果它是一个类,那么这意味着有时接收者可以是一个类,而不一定必须是一个对象......?

...或者 Math 是其他类的对象/实例吗?

我已经用谷歌搜索了我能想到的java/receiver/object/class/etc的每一个组合,但找不到任何真正为我解决这个问题的地方。我很感激任何人可以提供给我任何见解来澄清它。

谢谢!

java class object terminology receiver
1个回答
3
投票

数学是一堂课!但这些是静态方法:),这意味着 Math 不需要实例化为要使用的对象。直接用就可以了

包只是组织/分类课程的方法。

“接收者”在 Java 和 O.O. 中并不常见。

© www.soinside.com 2019 - 2024. All rights reserved.