java-如何在每个方法上检查方法 公共类测试 { 私有静态布尔启用=true; 公共静态布尔值isEnable() { 返回使能; } 公共静态字符串getName(int-id) { 如果(isEnable()) 返回“测试”; 其他的 返回null; } 公共静态ArrayList getVars(int-id,String-str) { 如果(isEnable()) { ArrayList=新建ArrayList(); 列表。添加(“测试1”); 列表。添加(“测试2”); 列表。添加(“测试3”); 退货清单; } 返回新的ArrayList(); } //更多方法包含启用检查 }
如何选中单个方法中的enable(启用)和从所有方法中跳过,除非您使用的是一些时髦的面向方面的库,例如无法在类中的每个方法之前/之后自动插入代码java-如何在每个方法上检查方法 公共类测试 { 私有静态布尔启用=true; 公共静态布尔值isEnable() { 返回使能; } 公共静态字符串getName(int-id) { 如果(isEnable()) 返回“测试”; 其他的 返回null; } 公共静态ArrayList getVars(int-id,String-str) { 如果(isEnable()) { ArrayList=新建ArrayList(); 列表。添加(“测试1”); 列表。添加(“测试2”); 列表。添加(“测试3”); 退货清单; } 返回新的ArrayList(); } //更多方法包含启用检查 },java,Java,如何选中单个方法中的enable(启用)和从所有方法中跳过,除非您使用的是一些时髦的面向方面的库,例如无法在类中的每个方法之前/之后自动插入代码 您需要“手动”执行此操作,正如您在示例代码中所示。方法是否必须是所有的static?是的,所有方法都是staticOK,不是最好的设计,但我想您有这样做的理由。如果类实现了一个接口且方法不是静态的,那么您可以为类创建一个代理并截获每个方法调用,以便在其中添加启用/禁用的逻辑。如果类实现了一个接口且方法不是静态的,然后OP可以创建一个代理,拦截所有方法并
您需要“手动”执行此操作,正如您在示例代码中所示。方法是否必须是所有的
static
?是的,所有方法都是staticOK,不是最好的设计,但我想您有这样做的理由。如果类实现了一个接口且方法不是静态的,那么您可以为类创建一个代理并截获每个方法调用,以便在其中添加启用/禁用的逻辑。如果类实现了一个接口且方法不是静态的,然后OP可以创建一个代理,拦截所有方法并实现逻辑启用vs!启用。但我认为,对于启用/禁用这样一个简单的事情来说,这太麻烦了。
public class Test
{
private static boolean enable = true;
public static boolean isEnable()
{
return enable;
}
public static String getName(int id)
{
if(isEnable())
return "test";
else
return null;
}
public static ArrayList<String> getVars(int id, String str)
{
if(isEnable())
{
ArrayList<String> list = new ArrayList<String>();
list.add("test1");
list.add("test2");
list.add("test3");
return list;
}
return new ArrayList<String>();
}
//and more method contains enable check
}