weixin_42509474 2013-10-29 19:05
浏览 360
已采纳

interface中的常量类final修饰的字符串动态赋值

我有若干个final 的字符串,字符串的值需要从properties文件中读取,功能对照代码如下所示:[code="java"]
public interface Constant {
private static final PropertiesUtil propertiesUtil = new PropertiesUtil("api-config.properties");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");
public static final String name= propertiesUtil.getValue("name");

}[/code]
我上面这样写肯定是编译不通过的。谓知大家有什么好点子来实现我所要的实现呀?

  • 写回答

3条回答 默认 最新

  • mingxuxu 2013-10-30 08:43
    关注

    问题在于interace只允许出现public & static & fianl类型的属性(propertiesUtil 是private的),为什么不考虑将propertiesUtil 做成单例的?这样就变成了:

    对于PropertiesUtil:
    [code="java"]public class PropertiesUtil
    private static final instance = new PropertiesUtil("api-config.properties");

    private PropertiesUtil(String config) {
    //init codes.
    }
    public static PropertiesUtil getInstance() {
    return instance;
    }
    } //end of class[/code]
    对于Interface:
    [code="java"]public static final String name= PropertiesUtil.getInstance().getValue("name");
    。。。。 [/code]

    Java中的interface实际上只是一个接口规范,所以定义private类型的变量是没有意义,也是不被允许的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?