我是新手请教带参数的构造函数有什么作用吗
2个回答
展开全部
构造函数是用来初始化用的,当然可以带参数了。初始化作用,可以带参数,参数类型和个数不同的的话可以进行构造函数重载。
系统自带的构造函数是不带参数的,自己写的话就写成带参构造了。
主要起初始化对象的作用,构造函数可以带参数,起使用方法和普通方法相同,但不能有返回值和返回类型。
.net对象的创建需要三步,但是我只记得两步,一是申请内存,得到对象的地址,付给this指针,二就是初始化这块内存,构造函数就是用来完成第二步的。可以带参数。用“this指针”这个说法只是为了方便说明,实际上.net对象在其生命周期内,this的值,或者说对象的真实地址是可以变化的。不过这些是GC的事情,不用程序员操心。
如果不显式提供构造函数,那么编译器会帮你写一个,这个构造函数是public且无参的,如果你提供了构造函数,不管他是不是public,编译器都不再会帮你编写构造函数。
系统自带的构造函数是不带参数的,自己写的话就写成带参构造了。
主要起初始化对象的作用,构造函数可以带参数,起使用方法和普通方法相同,但不能有返回值和返回类型。
.net对象的创建需要三步,但是我只记得两步,一是申请内存,得到对象的地址,付给this指针,二就是初始化这块内存,构造函数就是用来完成第二步的。可以带参数。用“this指针”这个说法只是为了方便说明,实际上.net对象在其生命周期内,this的值,或者说对象的真实地址是可以变化的。不过这些是GC的事情,不用程序员操心。
如果不显式提供构造函数,那么编译器会帮你写一个,这个构造函数是public且无参的,如果你提供了构造函数,不管他是不是public,编译器都不再会帮你编写构造函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每次写实体类的时候,都要写一次无参数的构造函数,再写一次有参数的构造函数
------解决方案--------------------------------------------------------
估计你没用到hibernate 把,hibernate 的hql 语句有个功能,如下
String hql = select new Student(id,name,age,birth) from entity.Student ;
List Student list = query.executeQuery(hql).list();
用到Student(int id,String name,int age,Date birth)这个构造函数。。
而且有参数的构造函数,可以方便赋值,比如要创建一个Student,就不用通过setId setName
setAge 了,
直接Student s = new Student(1,'bill',20,'2000-2-2');就可以拉。。
------解决方案--------------------------------------------------------
定义类,该类的对象必定有相应的属性。
定义好类之后,要想使用该类就应该创建该类的实例。
构造一个类的实例;应该做:
1、为对象分配内存空间;
2、初始化对象中的成员变量
3、通过调用类的构造方法来创建该对象
而带参构造函数就可以做到初始化成员变量,这样用很是方便。
------解决方案--------------------------------------------------------
估计你没用到hibernate 把,hibernate 的hql 语句有个功能,如下
String hql = select new Student(id,name,age,birth) from entity.Student ;
List Student list = query.executeQuery(hql).list();
用到Student(int id,String name,int age,Date birth)这个构造函数。。
而且有参数的构造函数,可以方便赋值,比如要创建一个Student,就不用通过setId setName
setAge 了,
直接Student s = new Student(1,'bill',20,'2000-2-2');就可以拉。。
------解决方案--------------------------------------------------------
定义类,该类的对象必定有相应的属性。
定义好类之后,要想使用该类就应该创建该类的实例。
构造一个类的实例;应该做:
1、为对象分配内存空间;
2、初始化对象中的成员变量
3、通过调用类的构造方法来创建该对象
而带参构造函数就可以做到初始化成员变量,这样用很是方便。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询