首页 > 解决方案 > 将非静态类的实例化扩展为静态类

问题描述

我正在尝试构建一个静态类结构,并且我想将非静态类的对象实例化转换为该静态类结构的静态类,而不是作为对象而是作为类

我试过像

public final class Client {
  public final static Widget FundSummary = new Widget("url")
    {
     public class FundSummary extends Widget{
          public final static Field FUNDNAMELIST = new Field("xpath", this)
        }
    }
}

或者

public final class Client {
   public class FundSummary extends new Widget("xpath")//this is not the right syntax, but it's what I want to achieve
   {
   } 
}

但还没有达到我调用这个静态类的最终目标

Client.FundSummary.FUNDNAMELIST.getPermissions() //works

Client.FundSummary.getPermissions() //does not work

这是非静态类

public class Element {
    public final Integer id
    public final String xpath
    public final String nameUI

    public Element(xpath, nameUI=null, id=null) {
        this.xpath = xpath
        this.id = id
        this.nameUI = nameUI
    }
}


public class Widget extends Element  {

    public final permissions
    public Widget(xpath, nameUI=null, id=null, def permissions= null) {

        super(xpath, nameUI, id)
        this.permissions = permissions
    }
    public String getURL() {
    }
    public String getPermissions(User user, int entityID = GlobalVariable.clientID) {
    }
}

public class Field extends Element{
    public final Widget widget
    public final permissions
    public Field(xpath, Widget, nameUI=null, id=null, def permissions=null) {

        super(xpath, nameUI, id)
        this.permissions = permissions
        this.widget = Widget
    }
    public String getPermissions(User user, int entityID = GlobalVariable.clientID) {
    }
}

标签: javaoopinheritancegroovy

解决方案


推荐阅读