0

我已经开始学习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 是 java.lang 包中的一个“包类”。我还没有真正理解什么是“包类”,除了它是我可以使用的某种预先编写的函数库......

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

...还是 Math 是其他类的对象/实例?

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

谢谢!

4

1 回答 1

2

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

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

“接收者”在 Java 和 OO 中并不常见

于 2015-02-01T04:10:35.227 回答