黑马程序员技术交流社区
标题:
构造函数的用法。
[打印本页]
作者:
江杰
时间:
2012-5-12 12:16
标题:
构造函数的用法。
class Parent{
private String name;
public Parent(String name){
this.name = name;
}
}
我这定义了一个构造函数,但是构造函数到底有什么用呢?
什么时候会用到?、、还有它里面的参数设置了到底有什么用?
作者:
黑马-王建雨
时间:
2012-5-12 12:28
构造函数用于对象建立时给其初始化。它里面的参数用于给类的成员变量传值。
作者:
于陈
时间:
2012-5-12 12:28
构造函数可以理解为给类初始化(赋值),如果你自己不写构造函数那么java虚拟机就会自动的去调用一个默认的无参的构造函数。至于你说的构造函数有什么作用,里面的参数有什么用,在我们实例化一个类的时候,我们可以直接给类里面的属性赋值,比如说你这里的Person类,我在主函数里面实例化一下:
Person person=new Person(“江杰”);
那么我们就创建了一个属性name为江杰的Person对象。
你这个构造函数里面的this.name=name;就是让传进来的参数String name等于当前的对象里面的name,this指代当前对象。
基本上就是这样了。
作者:
王怡然
时间:
2012-5-12 12:42
自定义一个类,在类中定义了成员方法,成员变量,为了程序的严谨,会将成员方法和变量进行私有化,
在构造函数中定义构造函数,在类中会默认给一个空构造函数,
将构造函数自定义,给定方法,例如:
class Person{
private String name;
public Person(String name){//在这里定义带参构造函数,定义形参;
this.name = name;//将调用者给定的值传入成员变量;
}
}
这样定义了以后,创建对象的时候就可以给对象初始化;
意思就是创建对象的时候就给成员变量和成员方法定义具体内容
其实不难,很好理解的;
作者:
孙宇晨
时间:
2012-5-12 12:49
因为变量name是私有化的 . 不能直接操作。所以通过构造函数Parent传值. 望采纳
作者:
田林
时间:
2012-5-12 12:51
构造方法的主要作用就是对对象中的成员变量进行初始化。如果你没有定义任何构造方法的形式,程序会默认为你构造一个不带任何参数的构造函数,那么你生成类的对像时,只能用不带参数的构造方法。
作者:
李啸
时间:
2012-5-12 12:56
说简单点就是你实例化对象的时候会用到 打个比方 有一只毛要出生了 你是要在生出来之后起名字 还是在还没出生将要出生的时候去起名字
作者:
魏宇
时间:
2012-5-12 12:59
构造函数是用于创建对象,也有可能要初始化。
它的特点是你不给系统也会给你一个空参数,你给了系统就不给了。
构造函数还可以用于给属性赋值。
作者:
黑马张立国
时间:
2012-5-12 13:12
构造函数到底有什么用呢?
给对象初始化属性,每个对象通过构造函数,传递属性值,就做到了属性名相同,属性值不同
例如:class person{age name}每个人都有age和name,但每个又不同。
什么时候会用到?
初始化赋值 当用private修饰时就不能在外部New对象,单例就是这样实现的
它里面的参数设置了到底有什么用?
把传进来相应的值赋给对象的属性
作者:
王德南
时间:
2012-5-12 13:54
构造函数的主要作用是完成对新对象的初始化。所以从它的作用我们可以看出当我们在创建类的对象时,
我们就直接指定这个对象属性的值时我们就可以用构造方法来指写。
举个例子来说明一下:
例如://定义一个人类
class Person
{
int age;
String name;
//构造函数
public Person(int age,String name)
{
this.age=age;
this.name=name;
}
}
Person p1=new Person(12,"张三");//这里在我们创一个Person的时候,他的年龄和姓名就已经初始化了。
作者:
It's_Zero
时间:
2012-5-12 14:12
若类未定义构造函数函数 则 类中包含了一个 空构造函数 即:
public Person(){}
而当你需要new 一个对象的时候 ,则需要通过构造函数对那个对象进行赋值,
class Person
{
int age;
String name;
//构造函数
public Person(String name) {
this.name=name;
}
public Person(int age,String name)
{
this.age=age;
this.name=name;
}
}
Person p1=new Person(12,"张三");//
Person p2 = new Person("李四");//构造函数的参数不同所调用的函数也不同
复制代码
作者:
索学超
时间:
2012-5-12 15:02
就以你的这个例子为例:
class Parent{
private String name;
public Parent(String name){
this.name = name;
}
}
我这定义了一个构造函数,但是构造函数到底有什么用呢? 什么时候会用到?、、还有它里面的参数设置了到底有什么用?
1、定义一个类,如同上面这个样子的,叫做实体类。主要作用是用来保存并传输数据的,(当然也还有其他用处)。
2、当你要实例化这个类时,肯定是要往里面存数据吧(用来传递数据,在其他地方调用这些数据方便)
存入数据的方法有三种:1、把其他已存好数据的Person类的对象直接赋给它
2、通过其定义好的赋值的方法(这里默认里面的属性字段为私有的)
一般格式为 public void setName(String name){this.name = name;}
这种方法可以为特定的属性赋值,但一次只能给一个赋值
3、就是通过如上的构造函数赋值了。(这种方法可以一次为多个属性赋值,方便好用,还省劲)
至于里面的参数,就是对应你属性的类型了,想给哪个属性赋值,参数就定义成什么类型的,
参数的名,喜欢的话,不一定非要跟属性的一样(建议还是一样的好)
3、数据存好了,就可以把这个封装好的装满货的对象往你希望它去的地方传送了。很好用滴
以上所述也许还有些局限性啊,知识有限,请多多包涵
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2