您的位置:首页 > 移动开发 > Android开发

Android笔记(三)杂记待续

2015-03-27 10:56 232 查看
public static XC_MethodHook.Unhook findAndHookMethod(<span style="color:#ff0000;"><strong>Class<?> clazz</strong></span>, String methodName, <span style="color:#ff0000;"><strong>Object... parameterTypesAndCallback</strong></span>) {
if (parameterTypesAndCallback.length == 0 || !(parameterTypesAndCallback[parameterTypesAndCallback.length-1] instanceof XC_MethodHook))
throw new IllegalArgumentException("no callback defined");

XC_MethodHook callback = (XC_MethodHook) parameterTypesAndCallback[parameterTypesAndCallback.length-1];
Method m = findMethodExact(clazz, methodName, getParameterClasses(clazz.getClassLoader(), parameterTypesAndCallback));

return XposedBridge.hookMethod(m, callback);
}


关于 “...”

例子一:int [] args 和 int... args 的区别

class  Hello{

public static void generalUse(int []args){
for (int i = 0;i < args.length ; i++ ){
System.out.println(args[i]);
}
}

public static void newBehaviour(int... args){
for (int i = 0;i < args.length ; i++ ){
System.out.println(args[i]);
}
}

public static void main(String[] args) {
//int[] a = {};
//test1
generalUse();   //不能通过编译,
newBehaviour();

}
}


例子二:Object... objects的意义

/*
Object ...objects这种参数定义是在不确定方法参数的情况下的一种多态表现形式。
即这个方法可以传递多个参数,这个参数的个数是不确定的,这样在方法体中需要相应的做些处理。
因为Object是基类,所以使用Object ...objects这样的参数形式,允许一切继承自Object的对象作为参数。
*/


关于<?>

/*
<?>是1.5的新特性,泛型

Class<?> clazz表示这个Class可以放任意的类,?表示object(所有类都隐性从Object继承的)
Class<String> clazz 只能接收String和他的子类
Class clazz 和 Class<?> clazz 性质是一样的
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: