java方法头中“静态”的含义是什么?
我想了解“static”一词在“WriteEnumbers”方法头中的作用:
public class DisplayClass {
/**
* @param args
*/
public static void main(String[] args) {
writeNumbers();
}
public static void writeNumbers()
{
int count;
for(count=1; count<=20; count++)
{
System.out.println(count);
}
}
}
# 1 楼答案
Static告诉编译器该方法不与声明它的类的任何实例成员相关联。也就是说,方法与类相关联,而不是与类的实例相关联
# 2 楼答案
术语
static
表示该方法在类级别可用,因此不需要在调用对象之前对其进行实例化因为
writeNumbers
是从一个本身为static
的方法调用的,所以它只能调用其他静态方法,除非它首先使用以下方法实例化DisplayClass
的新对象:只有实例化此对象后才能调用非静态方法,例如:
# 3 楼答案
静态元素属于类而不是对象
所以static method属于可以直接访问的类,如下所示
# 4 楼答案
为了澄清克罗斯特的答案,我想指出两件事
第一:
就类级别而言,这意味着您可以根据问题中的示例键入“DisplayClass.writeNumbers()”,而无需使用“newdisplayclass();”来访问它
第二:
按类级别,这还意味着代码库不会复制到任何实例,因此您会收到更小的内存占用
# 5 楼答案
从Oracle Java Tutorial逐字记录:
当然,您不必实例化类就可以使用所讨论的方法。您将为该方法提供适当的参数,它将返回一些适当的内容