!7 set flag AllPublic. lib 1400554 // javassist import javassist.CtClass; import javassist.CtClassType; import javassist.bytecode.*; p { ClassFile cf = new ClassFile(false, "User123", null); cf.setInterfaces(new S[] { className(IF1) }); var cp = cf.getConstPool(); // add default constructor MethodInfo mi = new MethodInfo(cp, "", Descriptor.ofConstructor(new CtClass[0])); var code = new Bytecode(cp, 1, 0); CtClass ctSuperclass = new CtClassType("java/lang/Object", cp); code.addInvokespecial(ctSuperclass, "", Descriptor.ofConstructor(new CtClass[0])); code.addReturn(null); code.setMaxLocals(1); mi.setCodeAttribute(code.toCodeAttribute()); cf.addMethod(mi); byte[] bytes = bytesFromDataOutputStream(stream -> cf.write(stream)); var cl = new InMemoryClassLoader(myClassLoader()); Class c = cast cl.defineAClass("User123", bytes); print(c); IF1 f = newInstance(c); print(f); }