当前位置: 首页 > 知识库问答 >
问题:

如何将变量从java类加载到其他类

霍建柏
2023-03-14

我正在尝试将一个字符串从topicRNG加载到changeXML。我以前在类之间加载过变量,但现在无法运行
首先,我有我的代码,我试图加载它。包装试验;

public class ModifyTTXML {

    public static void main(String args[]){

        TopicRNG.main();
        String something = TopicRNG.topicFinal;
        ...

然后是我试图加载的代码

import java.util.Random;

public final class TopicRNG {

    public static final void main(String... aArgs){

        String lastTopic = "empty";
        int lastTopicNumber; //genre ska importeras från GameSetup screenen

        Random randomGenerator = new Random();

   ...  

        if(GenreDefiner.genre<=1){
        System.out.println(topicName[lastTopicNumber]);
        topicFinal = topicName[lastTopicNumber]; }

当我从GenreDefiner加载int时,我把它设置成这样,

public class GenreDefiner {  
    public static int genre = 1;

}

我尝试过“将公共静态字符串放入topicFinal”,但它给了我一个错误,当我将它放在“公共静态void main(String args[]){}”之外时,它工作得很好。所以我猜“publicstaticvoidmain(stringargs[]){”中的publicstatic会把事情搞砸。我该怎么办?

共有1个答案

贺乐意
2023-03-14

您应该做的是将值作为参数传递给方法,并尝试最小化使用静态变量(全局常量除外)。

您不能在方法中声明静态变量,它必须在类声明中,但在任何方法声明之外。

 类似资料:
  • 在Mainactive类中,我无法访问gamePanel变量或对象。在程序中稍后的其他类中,它运行良好。我遇到了以下错误: 类主要活动: 类游戏面板:

  • 问题内容: 我在3个单独的类中有3个窗口,我想使用cardLayout,以便当你单击next按钮时,将出现下一个窗口。如何将包含不同元素的JPanels添加到一个cardLayout?这是第一个窗口:(尽管唯一的区别是背景-但它代表了我实际得到它的想法) 第二个窗口: 最后一个: 问题答案: 我做了一个小程序,希望程序中写的注释可以指导你了解如何使用CardLayout。

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

  • 问题内容: 我有一个简单的文本输入字段,我必须在其中设置一个对象的默认值,并将其最终值保存在其他对象中。以下代码无法正常工作。 表单是DTO对象,客户端是数据库中的实体对象。 解决这种情况的正确方法是什么? 不工作是指-初始值为client.name =“ Foo”和form.clientName = null。我需要输入字段的显示值为“ Foo”,并在表单提交后将form.clientName值

  • 我想用Java做一个程序来比较两个三角形。比较角度的顺序无关紧要,我知道我可以用语句来做,但有没有其他更有效的方法来比较3个角度和另外3个角度,因为三角形旋转并不重要,因为完全相同?(Java语言)