首页 > 解决方案 > 从另一个类调用变量时获取 Null

问题描述

我已经为此做了很多谷歌,并尝试了很多东西,但从未通过。所以我在 A 类中有这个变量,我想在 B 类中打印该变量,但是 A 类中的变量的值在调用之前通过一个方法。

public class TestSubject extends javax.swing.JFrame {

static String a; 

private void testButtonActionPerformed(java.awt.event.ActionEvent evt) { 
   a = "hello"; }
}

在这里,我声明了变量并单击一个按钮将变量值设置为“hello”。我通过在同一个类中使用另一个按钮打印变量“a”来测试变量是否确实获得了值。

public class TestSubject2 extends javax.swing.JFrame {

TestSubject test = new TestSubject(); 

private void okActionPerformed(java.awt.event.ActionEvent evt) {                                    
        System.out.println(test.a);
    }                  
}

所以在这里我尝试从类'TestSubject'中打印变量a。

所以我尝试过:

我试图同时使用非静态和静态。

我尝试使用返回方法

class TestSubject {   //purposely left the extend but you get what I mean
public String getString() {
   return a; } }
Class TestSubject2 {
   TestSubject test = new TestSubject(); 

   private void okActionPerformed(java.awt.event.ActionEvent evt) {                                    
        System.out.println(test.getString());
    }                 
}

但是,如果我要明确地给 'a' 一个值,例如:

static String a = "hello"; 

它将使用第一种方法在另一个类中正确打印出来。

我确保按顺序单击按钮,以便输入值。

所以我想知道的是如何从另一个类中调用一个变量。

标签: javaclassnetbeans

解决方案


推荐阅读