【问题标题】:Reference different classes with one variable用一个变量引用不同的类
【发布时间】:2017-06-30 02:32:00
【问题描述】:

我的项目中有一些类,每个类都有一个方法“public void build(){...}”,但是每个方法都不一样。我需要类似的东西:

    ...
    switch (choose){
    case 1:
    class = new Class1();
    break;

    case 2:
    class = new Class2();
    break;

    ...

    case 20:
    class = new Class20();
    break;
    }
    ...

    class.build();

    ...

每个类都有很长的代码,所以我宁愿把每个类分开,我也会在其他应用程序中实现一些类。

那么,有没有办法在唯一变量中引用类?

【问题讨论】:

    标签: java android android-studio variables optimization


    【解决方案1】:

    让所有这些类实现一个名为Buildable 的接口,其中列出了build() 方法。

    那么你可以有一个变量

    Buildable thingImGoingToBuild;
    

    并将其设置为任何这些类的任何对象。完成后,你就可以写了

    thingImGoingToBuild.build();
    

    【讨论】:

    • 谢谢。我试试看。
    【解决方案2】:

    使用数组然后在每个数组项上调用构建方法

    ...
    ClassName[] className = new ClassName[Count]
    switch(choose){
    case N:
    className[N] = new ClassNameNewN();
    break;
    case K:
    className[K] = new ClassNameNewK();
    break;
    }
    
    //for(int i = 0; i < array.length; i++)//if you want to call all 
          ClassName[i].build();
    
    ...
    

    【讨论】:

      猜你喜欢
      • 2016-12-13
      • 1970-01-01
      • 2018-12-17
      • 2019-09-13
      • 2017-05-18
      • 1970-01-01
      • 2012-07-29
      • 2020-01-02
      • 2019-08-05
      相关资源
      最近更新 更多