My previous post holds true and I recommend to do it that way rather than the following. However, to specifically answer your questions in your situation:
4. I moved the Java source file finaltest.java from c:\john to c:\john\final.
5. From the command Prompt I compiled like c:\john\final\javac finaltest.java
Mistake in 4 is moving the source. Leave the source in the same place. I assume in 5 you mean that you typed javac c:\john\final\finaltest.java. In reality it doesn't matter where the heck the source is so you might as well leave it where it was. And compile it there too. You COULD do the following.
4. Leave source in c:\John
5. from command prompt javac finaltest.java
5B. move the COMPILED file finaltest.class into the finalpkg subfolder (this is what some java books say to do, but my previous post has an easier way)
7. When I run this like c:\john\final\java finaltest
I am getting ... error
What you need to do is from the parent folder you need to run it, and use dots, not slashes. So from the folder ABOVE the finalpkg folder, type:
java finalpkg.finaltest
Do I need to create Sub Directory with the Packge name and need to place the souce file ?
Is there something I am missing in Classpath settings ?
I always create a subdirectory, but I think javac -d . will create one for you. Try it. However you shouldn't place the source file in that directory. Compile it in the normal directory, and move the COMPILED file to the subdirectory. (or see previous post and save the trouble)
And forget about the classpath. You don't need to modify the classpath to work with java packages.