java 中静态方法返回的值是静态的吗?


如果某个静态方法返回了值,那么这些值既不是静态的,也不是默认的实例,它们只是值。

调用该方法的用户可以使用它们。例如,你可以检索值并声明它们为静态的。

但是,由于你不能声明方法的变量为静态变量,因此,如果你需要声明方法返回的值为静态值,则需要在类中的方法之外调用它。

示例

假设我们有一个名为 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

更新于:2019-08-05

3K+ 阅读

启动您的 职业生涯

完成课程,获得认证

开始学习
广告
© . All rights reserved.