堆中的方法和方法区中的方法是怎么联系的

一个对象是创建在堆中的,方法体等类信息是存放在方法区中的,栈中对象变量存的是堆中变量的地址。
1.堆中的方法和方法区中的方法是怎么联系的?可以理解为堆中开辟一块空间存放的是方法区中的地址吗?
2.如果按找上边理解,那么继承的时候堆中和方法区中的方法体又是怎么联系的?对于子类覆盖父类的方法又是在哪里完成的呢?

        啊,虽然结论懂,可是这些细节性的东西不太清楚。求大神指点,谢谢啦!!!