这是调用的类:
private static class ExpressionGet implements Get
{
private FactExpression expression;
public ExpressionGet(FactExpression expression)
{
this.expression = expression;
} @Override
public Object getValue(FLOW_LOG flowLog)
{
MethodGet getVal = new MethodGet(flowLog);
Object obj = expression.eval(getVal);
return obj;
} @Override
public int getIntValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).intValue();
}
else
{
return Integer.parseInt(val.toString());
}
} @Override
public long getLongValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).longValue();
}
else
{
return Long.parseLong(val.toString());
}
} @Override
public double getDoubleValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).doubleValue();
}
else
{
return Double.parseDouble(val.toString());
}
} @Override
public String getTextValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return null;
}
else
{
return val.toString();
}
}
}
这是继承的父类:
public static interface Get
{
public Object getValue(FLOW_LOG flowLog);
public int getIntValue(FLOW_LOG flowLog);
public long getLongValue(FLOW_LOG flowLog);
public double getDoubleValue(FLOW_LOG flowLog);
public String getTextValue(FLOW_LOG flowLog);
}
主函数里面:
FactExpressionBuilder b = new FactExpressionBuilder(entityId,eventId, e.getValue(), extImports);
FactExpression exp = b.getFactExp();
ExpressionGet get = new ExpressionGet(exp);
请问ExpressionGet get = new ExpressionGet(exp);这段代码执行是什么个情况?请详细说明用到的技术及运行原理java
private static class ExpressionGet implements Get
{
private FactExpression expression;
public ExpressionGet(FactExpression expression)
{
this.expression = expression;
} @Override
public Object getValue(FLOW_LOG flowLog)
{
MethodGet getVal = new MethodGet(flowLog);
Object obj = expression.eval(getVal);
return obj;
} @Override
public int getIntValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).intValue();
}
else
{
return Integer.parseInt(val.toString());
}
} @Override
public long getLongValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).longValue();
}
else
{
return Long.parseLong(val.toString());
}
} @Override
public double getDoubleValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).doubleValue();
}
else
{
return Double.parseDouble(val.toString());
}
} @Override
public String getTextValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return null;
}
else
{
return val.toString();
}
}
}
这是继承的父类:
public static interface Get
{
public Object getValue(FLOW_LOG flowLog);
public int getIntValue(FLOW_LOG flowLog);
public long getLongValue(FLOW_LOG flowLog);
public double getDoubleValue(FLOW_LOG flowLog);
public String getTextValue(FLOW_LOG flowLog);
}
主函数里面:
FactExpressionBuilder b = new FactExpressionBuilder(entityId,eventId, e.getValue(), extImports);
FactExpression exp = b.getFactExp();
ExpressionGet get = new ExpressionGet(exp);
请问ExpressionGet get = new ExpressionGet(exp);这段代码执行是什么个情况?请详细说明用到的技术及运行原理java
不就是构造函数初始化对象么。
还要精通java的大神们出马???精通java,几人敢自称。
能用这个private static吗?
前面的俩类,实在是自己水平有限看了下,用到了其它几个类内容不详,无法回答但是看你问的这点,看命名似乎是个工厂方法
//取得工厂
//这里我觉得应该还有句获得工厂
//获得具体工厂
FactExpressionBuilder b = new FactExpressionBuilder(entityId,eventId, e.getValue(), extImports);
//获得实例
FactExpression exp = b.getFactExp();
//用了个装饰模式,具体干什么不知道,看内容吧
ExpressionGet get = new ExpressionGet(exp);
前面的俩类,实在是自己水平有限看了下,用到了其它几个类内容不详,无法回答但是看你问的这点,看命名似乎是个工厂方法
//取得工厂
//这里我觉得应该还有句获得工厂
//获得具体工厂
FactExpressionBuilder b = new FactExpressionBuilder(entityId,eventId, e.getValue(), extImports);
//获得实例
FactExpression exp = b.getFactExp();
//用了个装饰模式,具体干什么不知道,看内容吧
ExpressionGet get = new ExpressionGet(exp);
其实那些类都是经过封装的,我就是想问这个是什么编程模式