You may be interested in this document
from the OpenSuSE wiki. Look at the last section called "Switching between two different Java JREs or SDKs".
Regarding the PATH issue, the java executable is not in the system PATH, or better - as already pointed out by arizonagroovejet - it uses the /etc/alternatives system. However if you do
you will notice that the java executable is found in /usr/bin
$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 2007-10-15 14:58 /usr/bin/java -> /etc/alternatives/java
tells you that java is a link to the java in /etc/alternatives, which is another link to the real executable installed by the java RPM.
In a more general context, the system wide PATH environment variable in most system (OpenSuSE included) is set in /etc/profile plus the scripts in /etc/profile.d directory. If you look at the code in /etc/profile you will see the statements used to set the PATH plus the following piece of code:
# Source profile extensions for certain packages
if test -d /etc/profile.d -a -z "$PROFILEREAD" ; then
for s in /etc/profile.d/*.sh ; do
test -r $s && . $s
this means: if /etc/profile.d exists and is a directory, for every file .sh in /etc/profile.d test if read permissions are granted and source it (that is include its code in the current shell). Usually the scripts in /etc/profile.d add one or more directory to the PATH and set other environment variables as MANPATH, LD_LIBRARY_PATH and other specific to the software which installed them.
Hope it is a little more clear, now!