【问题标题】:Different Ways to Call Methods from Another Class从另一个类调用方法的不同方式
【发布时间】:2023-03-24 13:30:01
【问题描述】:

我是 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 类)的方法时,我们会以不同的方式调用方法?我们如何知道何时调用这样的方法而不是其他方式?

谢谢!

【问题讨论】:

  • 了解静态和实例方法

标签: java string math methods method-call


【解决方案1】:

有两种方法。

  1. 静态
  2. 非静态

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

例如:考虑平方根方法。求平方根的过程是一样的,不管你想求多少平方根。所以不需要在每次创建对象时都创建平方根方法。相反,我们可以使用类名来访问它。因此这些方法有时被称为class-methods

另一方面,

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

例如。想想charAt() 方法。 charAt(0) 将返回 char,具体取决于您调用它的 String 对象。

阅读This questionThis article 也很有帮助。

【讨论】:

    【解决方案2】:

    声明为静态的方法可以在类级别调用。 IE。您不需要该类的实例来调用它们。

    【讨论】:

      猜你喜欢
      • 2017-10-17
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多