Why don't we give the `filename.class` file after `java` command, instead of only `filename`?

Suppose we want to compile the `test.java` program, then we run `javac test.java`. It is ok!

After that it will produce `test.class` file but to run the program we run `java test` instead of `java test.class`. What is the reason for this?