构造方法就是用来构造一个对象出来的。
一个对象通常有很多属性,这些属性通常是定义为private访问级别的,通常定义了public 的GET SET方法,操作这些属性。
当new 一个无参数的对象,即调用默认构造方法,这些属性的值一般就是为空的。
当调用带参数的构造方法的时候 一般我们是给一些属性赋值。
所以当你想初始化NEW出来的对象有些值的时候就去调用你自己定义的带参数构造方法。
其实不难理解 吧 亲再好好地去学习一下!
构造器是为新建类服务的,比如一个user类,里面有id,name,score三个属性,如果不写构造器,那么系统提供默认的,public user(){},这时候你在类外想要使用user这个对象,那你必须要实例化,user user=new user();其中new user()括号里没有参数,说明你使用的无参构造器也就是默认构造器来新建的user实例,现在你如果想获取这个user的id并给id赋值为1,那只有通过user.setId(1);但是如果你写了public user(id,name){this.id=id;this.name=name;},那么你就可以直接通过有参构造器直接给一个新建的user实例赋值,user user=new user(1,"baobao");这就省得麻烦了,同理你也可以新建public user(id,name,score){this.id=id;this.name=name;this.score=score;},道理和上面的一样,就是为方便实例化一个有值的user的。
注意:如果你写了有参的构造器,那么系统就不给你提供默认构造器了,如果你需要无参构造器就需要自己写一下了
构造方法的作用:创建对象时进行初始化(记住这点你就该知道什么时候该写什么时候不该写了吧)
如果没有定义类,系统会提供一个默认的构造器,该构造器没有参数,如:
public Test(){}
当你创建了一个类,要创建该类的对象的时候,就会调用构造方法
如果你不写
它会默认给你提供一个无参构造方法的
谢谢
你不用构造器那你怎么给类的属性赋值?通过set()方法?这样也可以的。不过有些资源是需要在类的实例化的同时就已经加载了,那么此时就需要构造方法了,在构造方法里进行一下必要的资源创建和获取操作。用不用,是根据你的需求来定的。