java - 从另一个类调用方法的不同方式

标签 java string math methods method-call

我是 java 语言和整个编程的初学者。

我知道要从另一个类调用方法,我们调用该方法:

ClassName.methodName(arguments);

例如,当我们想使用 Math 类求整数的平方根时:

int x = 4;
int root = (int)(Math.sqrt(x));

但是,当我们在其他类中使用某些方法时,例如 String 类中的 charAt() 方法,我们使用类似的方法访问该方法:

String str = "Greetings!";
char ch = str.charAt(0);

对于 String 类中的其他方法也是如此,例如:codePointAt() 和 compareTo()。

为什么我们在使用某些类(如 String 类)的方法时调用方法不同?我们怎么知道什么时候调用这样的方法而不是其他方法?

谢谢!

最佳答案

有两种ow方法。

  1. 静态
  2. 非静态

您所说的第一种情况是静态 方法。如果你阅读更多,你就会知道你不能实例化一个静态类。也就是说,您不能从静态类创建对象。因此,如果静态类中有方法,则必须使用类名访问它们。非静态类中也有静态方法。

例如:想想平方根法。求平方根是同样的过程,无论你想求平方根的数字是多少。因此,无需在每次创建对象时都创建平方根方法。相反,我们可以使用类名访问它。因此,这些方法有时称为 class-methods

非静态方法可能需要在每次创建对象时实例化,因为它们是特定于对象的。

例如。想想 charAt() 方法。 charAt(0) 将根据调用它的 String 对象返回一个 char

阅读This questionThis article也很有帮助。

关于java - 从另一个类调用方法的不同方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34551313/

相关文章:

java - 在 Java 中逐行读取文本文件的最快方法

java - 充气城堡 PGPObjectFactory nextObject 返回 null

java - Spring Security 基于 header 的身份验证

java - CharSequence equals() 不能正常工作

python - Mathml 到 python 中的数学符号

python - 具有间隙的信号的功率谱密度?

java - JNI - 将 STDOUT 连接到 JTextArea?

java - 将对象保存到列表中并修改对象的字符串而不修改列表中的条目?

c - 是否可以释放使用 calloc 分配的 char *"

algorithm - 循环的时间复杂度按 log 增加?