java 成员变量final修饰符求解

private Date now;
public Date now=new Date();
private final Date now=new Date();
为什么第三种情况下系统会自动加上“final”,求解

Java关键字final有“这是无法改变的”或者“终态的”含义.如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。
使用final方法的原因有二:
第一、把方法锁定,防止任何继承类修改它的意义和实现。
第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。
你这里命名都重复了,怎么可以在同一个地方命名三个now?

final 修饰的变量只能被赋值一次,一般存储常量值

说明该变量定义后就不会被更改!!!

 fianl变量是你按自己需要定义的,Eclipse提供了自动帮助功能,当你没有定义某个变量的时候,用它的帮助功能可能会加上final,但是你可以根据自己的情况去掉的。如果它可以被重新new的话。

final修饰的对象,不变的是它的地址值,它其中的内容可以进行改变。