C++ supports const qualifier for both type and variable. Here you can control constness for object reference and data. But Java supports only type qualifier final. So based on your use case you can decide what you want. Edited:
int x = 4;
int y = 6;
Ex1:
const int * var1 : declares that var1 is a variable pointer to a constant int.
*var1 = 5 // error (value constant)
var1 = &y // correct
EX2:
int * const var2 = &x : declares that var2 is const pointer to a variable int
var2 = &y // error (reference constant)
*var2= 5 // correct
EX3:
int const * const var3 = &x: declares that var3 is const pointer to a const int.
*var3 = 5 //error
var3 = &y // error