
Java
These are two unrelated concepts. A final object is one that is not subject to inheritance (in the case of a class), may not be overridden (in the case of a member function), or not subject to change once set (in the case of an instance of a class). A constructor allows an instance to be loaded with values when the object is created. A final member variable may be set only once, and may never be altered after that point. This can eliminate certain classes of programming bugs. For example,
Java.lang.Math.PI should never change (it is a constant value), so accidentally assigning a value to this symbol should result in an error.