class Gizmo { 
public void spin() {} 
} public class FinalArguments { 
void with(final Gizmo g) { 
//! g = new Gizmo(); // Illegal -- g is final 

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); 


上面的两句 bf.without(null); 
bf.with(null); 
它们与 bf.without(); 
bf.with();有什么不同??? 
一直没见过null可在实参中出现……