Java 1.1 では、引数リストで適切に宣言することで引数を Final にすることができます。これは、メソッド内では引数ハンドルが指すものを変更できないことを意味します。以下に示すように:
/** * Created by xfyou on 2016/11/2. * final自变量演示 */ public class FinalArguments { void with(final Gizmo g) { //! g = new Gizmo(); // Illegal -- g is final g.spin(); } void without(Gizmo g) { g = new Gizmo(); // OK -- g not final g.spin(); } // void f(final int i) { i++; } // Can't change // You can only read from a final primitive: int g(final int i) { return i + 1; } public static void main(String[] args) { FinalArguments bf = new FinalArguments(); bf.without(null); bf.with(null); } } class Gizmo { public void spin() { } }