一般接口可否写公有静态变量

来源:百度知道 编辑:UC知道 时间:2024/05/10 13:27:43
也就是接口中写 public static int i = 0; 这样的变量,这样写的话,有违背什么东西吗?会不会被同行看不起之类的。

怎么会呢。这样写并没有什么坏处,前提是接口中需要大量使用的常量。
因为接口可以被多个类实现,所以当接口中的逻辑需要时,可以把频繁使用的常量定义在接口中,不过一定要加上final关键字,实现类里就可以直接调用了。

一个比较权威的例子,在struts2和webwork等开源框架中,
com.opensymphony.xwork2.Action接口中定义了一些字符串常量,表示返回的标识信息。

可以写,不过这不是什么好习惯。

因为public static int XXX 这样的参数相当于全程变量。即然是全程变量那为何不写到别的地方也一样?写到配制类里更好。专用了一个
NetConfig.java来配制所有的网络参数,如ip地址,端口,server配制等等
DataBaseConfig.java来配制所有的数据库配制 如数据库名,端口,帐号,密码

所有这些参数都可以备份在.xml文件中,在程序启动初始化时,从xml文件中读入,再填充NetConfig和DataBaseConfig。或者什么UserConfig(用户习惯备置)等等等等等等

如果实在要写,你可以使用静态类。

哦,再补充一下,如果你想用int i来获取实现该接口的类对象的状态。你可以增加一个接口函数就可以了。比方 public int getStatus();
实现类实现此方法时填写 return i; 就可以了。
接口中尽量只留下方法.

接口定义用的域变量名全是final static,即静态常量,即使没有任何修饰符,其效果完全等效。
你可以在接口中直接写int i=0;它在别的类中被调用的话,相当于是调用接口中的final static int i=0;