类之间的函数调用

时间:2011-01-10 10:31:28

标签: java

任何人都可以通过以下声明告诉我我们的意思(我在我的一个教程中遇到过)

String s1 = Utilities.gets1(UtilityConstants.MY_SEVICE_NAME);

我发现项目中确实存在Utilities.javaUtilityConstants.java个文件。

我知道这个模糊的小信息很难传达出正确的含义。

但是,你能说清楚那是什么样的电话吗?

4 个答案:

答案 0 :(得分:3)

gets1类中存在方法Utilities,该方法接受String参数并返回String。字符串参数发生从另一个类UtilityConstants中选择,其中至少一个static [也可能是final ]字符串变量声明,名称为MY_SEVICE_NAME

答案 1 :(得分:2)

当然看起来看起来就像调用gets1类中名为Utilities的静态方法一样,其参数为UtilityConstants.MY_SERVICE_NAME

换句话说,计算表达式UtilityConstanst.MY_SERVICE_NAME,然后将该值作为参数传递给gets1,其中相应的参数将从该值开始。

该方法的返回值是String引用 - 可以想象为空引用。 s1的值将是返回的值。 (请注意,它是一个引用,而不是String对象本身。)

如果一个静态方法(与Utilities是一个表达式,如变量的可能但不太可能的情况相反),那么{{1调用需要class; Utilities方法不会有gets1的隐式实例来访问。

那是你在找什么?

答案 2 :(得分:0)

Utilities课程中,您将获取由static(可能还有final)字段MY_SEVICE_NAME标识的服务的名称。

我说可能是因为字段名称是大写的并且_是分开的,这在java中通常意味着您正在处理final字段。

答案 3 :(得分:0)

MY_SEVICE_NAME是UtilityConstants的静态常量

gets1是Utilities类的静态方法

你可以在这里阅读静态 - http://download.oracle.com/javase/tutorial/java/javaOO/classvars.html

简而言之 - static 不是实例变量/常量,它是类的变量/常量,您始终可以在没有类实例的情况下访问它。