再插一点题外话:其实在对象创建时成员变量已经初始化了,只是初始化的都是变量对应类型的默认值,比如int类型的默认值是0,引用类型默认值是null,boolean类型默认值是false。
1.如果当用户没有定义构造方法时,编译器会为类自动添加形如类名() 的无参构造方法,但是一但自己定义了构造 方法,编译器将不再自动添加.也就是说构造方法不是必须有的.如果你之前一直未自定义构造方法,当你new一个对象时,系统会自动调用默认的一个无参构造方法,给你对象的实例变量赋初值,比如int型默认为0.但一旦你自己定义了构造方法并new一个对象后,你再new一个对象时系统将不再为你自动提供默认的无参构造方法,那么你必须自己定义一个构造方法,否则编译出错
2 构造器可以不只一个,这叫做方法的重载
3.构造方法不但是要给对象的实例变量赋初值,更重要的是还和new一起来创建对象 ,如果你的对象没有实例变量,当然不用给对象的实例变量赋初值,也就不需要有参的构造器.但这在实际应用中,是毫无意义的.因为没有实例变量的对象什么也干不了.
.代表当前目录File file = new File(“.”)
这句话的意思是创建一个文件夹,路径是当前目录。(File可以是文件也可以是文件夹)
File tempFile= file.createTempFile(“abc”,“.txt”,file);
这句话的意思是,在当前路径文件夹下创建abc.txt文件。file在上面已经定义