java使用不同的方法从另一个类调用方法
我是java语言和编程的初学者
我知道要从另一个类调用方法,我们使用以下方法调用该方法:
ClassName.methodName(arguments);
例如,当我们想使用数学类求整数的平方根时:
int x = 4;
int root = (int)(Math.sqrt(x));
但是,当我们在其他类中使用某些方法时,例如String类中的charAt()方法,我们会使用以下方法访问该方法:
String str = "Greetings!";
char ch = str.charAt(0);
这对于String类中的其他方法也是如此,例如:codePointAt()和compareTo()
为什么我们在使用某些类(如String类)的方法时调用方法会有所不同?我们如何知道何时调用这样的方法而不是另一种方法
谢谢
# 1 楼答案
有两种方法
您谈论的第一个案例是静态方法。如果您阅读更多,您将知道您无法实例化静态类。i、 e.不能从静态类创建对象。因此,如果静态类中存在方法,则必须使用类名访问它们。在非静态类中也有静态方法
想想平方根法。求平方根的过程是相同的,不管你想求什么数字的平方根。所以不需要每次创建对象时都创建平方根方法。相反,我们可以使用类名访问它。因此,这些方法有时被称为
class-methods
另一方面,非静态方法可能需要在每次创建对象时实例化,因为它们是特定于对象的
考虑一下
charAt()
方法。charAt(0)
将根据调用它的String
对象返回一个char
阅读This question和This article也很有帮助
# 2 楼答案
可以在类级别调用声明为静态的方法。 也就是说,您不需要该类的实例来调用它们