Java 中静态方法返回的值是静态的吗?
java 8object oriented programmingprogramming更新于 2025/9/21 1:16:17
无论何时从静态方法返回值,默认情况下它们都是静态的或实例的,它们只是值。
调用该方法的用户可以根据需要使用它们。即,您可以检索值并将它们声明为静态的。
但是,由于您不能将方法的变量声明为静态的,如果您需要将方法返回的值声明为静态的,则需要在方法之外的类中调用它。
示例
假设我们有一个名为 Demo 的类,其名称为 −
class Demo{
int data = 20;
public Demo(int data){
this.data = data;
}
public int getData(){
return this.data;
}
}
在下面的 Java 示例中,我们有两个方法 getObject() 和 getInt(),分别返回一个对象和一个整数。
我们在类中和方法中两次调用这些方法。在类中,我们已将它们返回的值声明为静态。
在方法中,我们将它们(方法返回的值)用作局部变量(显然是非静态的)。
public class StaticExample{
static int data = StaticExample.getInt();
static Demo obj = StaticExample.getObject();
public static Demo getObject(){
Demo obj = new Demo(300);
return obj;
}
public static int getInt(){
return 20;
}
public static void main(String args[]) {
System.out.println(StaticExample.data);
System.out.println(StaticExample.obj.data);
StaticExample obj = new StaticExample();
System.out.println(obj.getInt());
Demo demo = obj.getObject();
System.out.println(demo.data);
}
}
输出
20 300 20 300

