protected byte[] buildClass() throws IOException {
//1.基本信息
Class<?> superClass = this.getSuperClass();
//2.构建visitor环
//------第一环,写入
ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS);
//------第二环,用户扩展
ClassVisitor visitor = this.acceptClass(writer);
visitor = (visitor == null) ? writer : visitor;
//------第三环,ClassAdapter
visitor = new PropertyDelegateClassAdapter(visitor, this);
//3.Read
String resName = superClass.getName().replace(".", "/") + ".class";
InputStream inStream = superClass.getClassLoader().getResourceAsStream(resName);
ClassReader reader = new ClassReader(inStream);//创建ClassReader
reader.accept(visitor, ClassReader.SKIP_DEBUG);
return writer.toByteArray();
}