想要编写一个类,以便在该类中声明的变量和方法在多个类中使用

时间:2019-07-12 02:44:14

标签: java design-patterns

我想以这样的方式编写类,即在许多其他类中使用变量“ monthlyInfoFile”的值。 我已经编写了以下课程,有人可以帮助我以获得实现此目的的最佳方法。 在GenerateMonthsInfo类中,我正在调用其他类方法“ monthsInfo”,在该方法中,我需要获取在DetailShared类中声明的montlyInfoFile变量的值。

我想编写在DetailShared类中声明的方法和变量,以便应在其他类中访问方法/变量,并且一旦获得值,变量“ monthlyInfoFile”就应该能够在整个应用程序流程中使用该值。 / p>

DetailShared.java-需要共享的值

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;

class DetailShared {
    static boolean monthlyInfoFile;

    public static void checkinMonth(String path) {
        File informationFile = new File(filePath + "\\months.txt");
        if (informationFile.exists()) {
            monthlyInfoFile = true;
            checkOtherInformation();
        } else {
            monthlyInfoFile = false;
        }

    }

    public static void checkOtherInformation(String path) {

    //do something
    }
}

class PopulateTheBasics {
    // methods
    public void calculateTheBilling() {
        // want to get the value of monthlyInfoFile
    }
}

GenerateMonthsInfo.java-值需要从DetailShared类中获取

class GenerateMonthsInfo {
    void monthsInfo(String path) {
        // want to get the value of monthlyInfoFile
        new DetailShared().checkinMonth(path);
        new PopulateTheBasics().calculateTheBilling();
    }
    void populateExcel(){
      if(DetailShared.monthlyInfoFile){
       //do some logic
       } else{ //some logic }
    }
}

Test.java-它调用GenerateMonthsInfo来获取值

public class Test {
    public static void main(String args[]) {
        new GenerateMonthsInfo().monthsInfo("c:/path/details");
    }
}

1 个答案:

答案 0 :(得分:0)

可能无法完全回答您的问题,但是根据您的最后评论,我相信您希望/需要了解的是Java中的Packages概念,并控制Access修饰符。

许多入门Java编码器通常只在单个文件夹中编码,因此还没有学到这个概念。

以下是一些链接供您阅读: