Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将一个变量从一个类调用到另一个类?_Java_Class_Static - Fatal编程技术网

Java 如何将一个变量从一个类调用到另一个类?

Java 如何将一个变量从一个类调用到另一个类?,java,class,static,Java,Class,Static,比如说,, 我有a、b、c、d、e、f级。 对于f类,它们有很多变量, 那么,当我在类a,b,c,d,e中时,如何调用类f变量呢? 使用导入?还是使用静态变量? 编程时静态变量会改变吗? 谢谢。多种方式: 若变量值不变且为常量,则将其定义为静态、最终和公共变量 public static final int DUMMY = 9999; 然后你可以像这样访问它: System.out.println(F.DUMMY); 将该变量定义为实例变量,并在f类中提供getter和set

比如说,, 我有a、b、c、d、e、f级。 对于f类,它们有很多变量, 那么,当我在类a,b,c,d,e中时,如何调用类f变量呢? 使用导入?还是使用静态变量? 编程时静态变量会改变吗? 谢谢。

多种方式:

  • 若变量值不变且为常量,则将其定义为静态、最终和公共变量

    public static final int DUMMY = 9999;
    
然后你可以像这样访问它:

    System.out.println(F.DUMMY);
  • 将该变量定义为实例变量,并在f类中提供getter和setter。在a、b中注入f的实例。。类并使用getter/setter

       public class F {
           private int dummy;
           //getter/setter
       }
       public class a {
           ..
           int value = f.getDummy();
       }
    
编程时静态变量会改变吗?

是的,静态字段可以在声明后更改。但在JVM的一个实例中只维护一个值

无论创建了多少类实例,类中的静态文件对于类的所有实例都是相同的

以下是jls中很好的解释