gpt4 book ai didi

java - 在Java中我们可以在没有对象的情况下调用非静态类的方法吗?

转载 作者:行者123 更新时间:2023-12-01 06:40:27 25 4
gpt4 key购买 nike

包装类Integer具有静态方法parseInt(),其使用方式如下:

Integer.parseInt();

我认为只有静态类的方法才能像这样调用(即Class.doMethod())。所有非静态类都需要实例化对象才能使用其方法。

我检查了 API,显然 Integer 被声明为 public final Integer - 非静态。

最佳答案

任何类都可以包含静态和非静态方法。在任何类(包括您自己的类)上调用静态方法时,您不需要实例化该类的实例,只需使用类名调用该方法即可:MyClass.methodName().

事实上,甚至以下内容也可以工作:

Integer nullInt = null;
nullInt.parseInt("5");

这是有效的,因为在调用静态方法时,只有引用的类类型很重要。但考虑一下这种糟糕的风格:总是使用例如改为Integer.parseInt

另请注意,无论如何,您都不能将顶级类声明为 static:只有嵌套/内部类才能声明为 static。

关于java - 在Java中我们可以在没有对象的情况下调用非静态类的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12877100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com