特别使用Java。什么使一个函数静态?那是什么意思?你应该如何选择使函数静态?
我的while循环被破坏是因为“非静态方法hasPrecedence(java.lang.String,java.lang.String)无法从静态上下文引用”
答案 0 :(得分:2)
在类的特定实例之外调用静态方法。例如,在Java库中,Math.sqrt()
函数与特定对象无关。
相反,必须使用特定对象调用非静态方法。例如,为String对象定义了toUpperCase()
方法:
String str = "Hello World.";
String upperStr = str.toUpperCase();
System.out.println(upperStr);
请注意,我没有使用String.toUpperCase()
来调用str.toUpperCase()
。
静态方法称为任何特定对象的外。非静态方法称为,要操作的特定对象。
答案 1 :(得分:0)
如果类的所有实例中只有一个共享,则函数是静态的。通常,静态函数用于“效用”工作。我的意思是,这个函数为你做了一些工作,它不需要/不应该要求创建类的实例。因此,静态函数不使用或无权访问实例变量或实例方法。