Il file .class è il bytecode, che viene interpretato dalla Virtual Machine dopo essere stato compilato dal compilatore Java. Quindi, per aprirlo ti ci vuole un decompilatore, ma se non conosci Java (o almeno C++) difficilmente potrai modificare con successo qualcosa.

Per quanto riguarda la seconda domanda, io non credo che Java verrà dimenticato con l'arrivo di DotNet, ma sono punti di vista.

Ciauz