Queen Elizabeth I's heir was James VI of Scotland. His mother was the infamous Mary Queen of Scots, whom Elizabeth had had executed. I understand that James VI and Elizabeth I developed a close relationship via letters over many years, and that Mary had had participated in plots to over throw Elizabeth, but I still don't understand how Elizabeth could execute Mary whom she considered a rival....Yet name Mary's son James VI as her heir. Can you explain how and why Elizabeth would execute the mother...Then leave her entire kingdom to the son? I find it very strange.
Actually, Elizabeth didn't name him as her heir. As she got older, her relations with him (initially rather frosty) seem to have improved, especially after they signed a treaty of mutual defence in 1586, but she never officially announced that he (or anyone else) was her heir.
In fact, some of her own ministers went behind her back to secretly correspond with James about ensuring he was named King after her death, particularly in the last 2 years of her life, when it was fairly obvious that her health was failing. This was partly because he was the most obvious successor, a Protestant, and one with experience of being King and his own heirs, and thus most likely to lead to a clear and peaceful succession. The other reason of course, was just that these ministers wanted to continue in their current position under the new King.
Eventually, in 1603, Elizabeth died, and her chief minister, Robert Cecil (who'd already secretly sent a draft proclamation of Kingship to James) had James declared publically as King by that afternoon. A few days later James left for London, slowly going south enjoying the hospitality of various lords, and eventually arriving in London for his coronation.