Waheed Murad wrote:So why we are being able to access it from other package with a reference variable...(Test2) ?
What "other package"? Remember that variables aren't inherited (so the title of your post is misleading). The variable is declared in package "general.pack1" and the code which attempts to use the variable is declared in that same package.
You could experiment with declaring your Test3 class to be in package general.package2 or in some completely different package.