例如,我从Integer调用一个方法,如toHexString()
。
现在我需要通过以下代码将其打印出来。
int i = 123455;
System.out.println(Integer.toHexString(i));
我还没有创建一个名为Integer
的新对象。为什么我可以直接使用Integer
这个对象?
答案 0 :(得分:8)
您可以这样使用它,因为toHexString
是static
方法。
对于static
成员,您不需要实例,可以直接通过该类调用它们。
答案 1 :(得分:3)
Integer.toHexString(i)
- 调用类Integer的静态方法。 Static methods
不要求创建对象。
您可以在official documentation中阅读更多内容。
答案 2 :(得分:2)
仅仅因为toHexString
是static
方法,所以您可以通过三种方式访问它。
Integer.toHexString(i); //static method directly access using Class Name .
Integer v_objInt = null;
v_objInt.toHexString(i); //this will also work.
选项 B 也可以使用,因为
static
也可以使用任何null
引用的类对象进行访问。
Integer v_objInt = new Integer();
v_objInt.toHexString(i); //this will also work.
选项 C 也可以使用,因为
static
也可以使用任何已初始化的引用的类对象进行访问。
答案 3 :(得分:1)
您可以通过引用类名或使用对象引用(通常会导致错误和误解)来执行static
方法。所以我建议不要使用第二种方式。
Integer.toHexString(i);
Integer i = new Integer(1);
i.toHexString(i);
在您的情况下,Integer
只是一个类名(不是您提到的对象),其中static
方法名为toHexString(int i)
。
答案 4 :(得分:0)
只是加上其他人已经说过的话。
隐式导入java.lang。*。
Integer
是该软件包中的一个类。因此,这个类不需要import
。这就是为什么你可以直接使用这个类而不创建自己的整数类或导入它