当前位置: 首页 > 面试题库 >

获取其他类中的变量

徐帅
2023-03-14
问题内容

我需要inString在其他班上变数。我怎样才能做到这一点?

public class main {
    public static StringBuffer inString;


    public static void main(String[] args) {
        inString = new StringBuffer("Our aim is to make a 15 realistic game, where grinding powerlines and doing a tailwhip isn't easy, like in the real world. A game in which you will feel like you're actual riding. A game in which creativity and beauty are combined. ");
        inString = new StringBuffer(inString.toString().replaceAll(" +", " "));
        }
}

所以我尝试System.out.println(main.inString);在Textcl.class中使用,但是得到了null


问题答案:

您将得到空值,因为inString从未按Robert Kilar在注释中正确指出的那样进行初始化。

您可以通过使用类名来引用静态变量。

示例ClassName.variablename。就你而言

    main.inString

运行您的主类。当您运行inString时,将在该类的构造函数中对其进行初始化。现在,您可以在Myclass中引用相同的内容,如下所示。

public class main {
public static StringBuffer inString;

public main()
{
inString = new StringBuffer("Our aim is to make a 15 realistic game, where grinding powerlines and doing a tailwhip isn't easy, like in the real world. A game in which you will feel like you're actual riding. A game in which creativity and beauty are combined. ");
inString = new StringBuffer(inString.toString().replaceAll(" +", " "));
new MyClass();
}
public static void main(String[] args) {
    new main();
    }
}

现在在MyClass中引用静态变量。

class MyClass {

public MyClass() {
    System.out.println("............."+main.inString);// refer to static variable
}
}

您还可以将变量传递给类的构造函数。

public class main {
public  StringBuffer inString;

 public main()
  {
    inString = new StringBuffer("Our aim is to make a 15 realistic game, where grinding powerlines and doing a tailwhip isn't easy, like in the real world. A game in which you will feel like you're actual riding. A game in which creativity and beauty are combined. ");
    inString = new StringBuffer(inString.toString().replaceAll(" +", " "));  
    new MyClass(inString);
 }
public static void main(String[] args) {
    new main();

    }
}

然后在Myclass

 public class MyClass
 {
        public MyClass(StringBuffer value)
        {
          System.out.println("............."+value);
        }
 }


 类似资料:
  • 我正在尝试将我用Python制作的游戏移植到Java。在Python版本中,我将所有的方法和变量都放在一个“类”中,玩家是这样的字典: 游戏派克 然后分别添加玩家的数据值: 在Java版本中,我有一个单独的类用于定义玩家对象,以及游戏的主方法。 例如(这是一个小版本): 游戏java(省略返回) 游戏者java(省略返回) 假设,当要编译的两个类一起编译时,程序将能够运行,因为主变量是公共变量,并

  • 我如何通过我自己的API从另一个API获取PDF,然后到前面供用户下载。 我现在得到的只是一张空白页。 后面是Scala的,当我打印文件时,我得到一个字符串。

  • 我有一个名为Trade的实体,它可以映射到包含属性的表。这个实体也有一个字段,存储来自另一个表的值。我的贸易表包含第二个表的主键。我知道如何获得整个第二个表作为实体在我的贸易实体,但我只想要1列。 如你所见,我尝试了,但是连接是在贸易实体的主密钥上执行的。我如何使用注释从贸易表中选择外键,将其连接到第二/第三表,并直接只从col2/col3中获取值?任何建议都很感激 餐桌贸易: 表2: 表3: 现

  • 问题内容: 我希望我说的是我的话。我有这样的课: 和其他这样的类: 这是从其他类(在该示例代码中)访问和更改其值的正确方法吗,是否有更好或更合适的解决方案?请注意,这是具有方法的类。 问题答案: 从另一个类访问私有变量的正确方法是使用getter和setter方法。否则,您应该将该变量公开。 那是: 但是,直接返回私有数据是一种不好的做法- 允许外部代码修改您的私有状态。通常,您应该返回私有数据的

  • 问题内容: 在Linux中,可以使用backtrace()库调用来获取回溯,但是它仅返回当前线程的回溯。假设我知道它是TID(或pthread_t)并且可以保证它可以入睡,是否有任何方法可以获取其他线程的回溯? 看来libunwind(http://www.nongnu.org/libunwind/)项目可以提供帮助。问题是CentOS不支持它,因此我不希望使用它。 还有其他想法吗?谢谢。 问题答

  • 我有服装产品。一种产品有多个类别,如“性别”(“男性”或“女性”)和“类型”(如“裤子”、“衬衫”等)。 我想列出所有类别和子类别的“类型”从产品中存在的“男子”类别。 "type"类别的ID: 1696 这段代码给了我1696下的所有类别,但我只想从也属于“男性”类别的产品中获得“类型”类别。 我明白了吗? 非常感谢你的帮助。