Your choice of approximation in the Java case reflects your own view; there is a "final" in Pike too which maps better to Javas "final".
If it wasn't clear earlier, I regard "constant" as a way to declare something that is like a function in almost all respects except for the type. With that view, "constant" has very clean semantics in Pike, and it's just as useful for overloading as functions are.