我们在科普一下java的定义
FileWriter wr = new FileWriter("呵呵");
可以这么理解。
1、new FileWriter("呵呵");表示在空间里创建了一个FileWriter对象。你可以再程序任何一个地方new一个对象,就像天空里放满了断线的风筝,是的断线的风筝。
2、末尾的("呵呵")表示调用该对象的构造方法。
3、左边的FileWriter wr 就是创建了一个对象引用,就是一根线,对的确是一根线。
4、那个"="就是把那根线,绑到满天空里某个风筝上。java就是通过对象引用间接去控制,访问类的。
在看看 11行 FileWriter wr = new FileWriter("呵呵");
它其实是
FileWriter wr = null;
wr = new FileWriter("呵呵");
你个熊孩子,—_—
你9行代码不是 已经 FileWriter wr = null;了吗
你等于又写了个 FileWriter wr = null;
编译器注定给你x
第一张图 那叫定义了一个 wr变量并赋值为null,然后下面再赋值。
第二张图 那叫定义了一个wr变量并赋值为null,然后又定义了 一个wr变量。变量名重复。这不叫赋值
在9行已经定义过了,在11行重复定义
wr已经定义过 ,不用再重新定义的
变量重复定义,或者说两个对象不能重名