A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 江杰 初级黑马   /  2012-5-12 12:16  /  2454 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Parent{
  private String name;
  public Parent(String name){
    this.name = name;
  }
}
我这定义了一个构造函数,但是构造函数到底有什么用呢?
什么时候会用到?、、还有它里面的参数设置了到底有什么用?

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

12 个回复

倒序浏览
构造函数用于对象建立时给其初始化。它里面的参数用于给类的成员变量传值。
回复 使用道具 举报
构造函数可以理解为给类初始化(赋值),如果你自己不写构造函数那么java虚拟机就会自动的去调用一个默认的无参的构造函数。至于你说的构造函数有什么作用,里面的参数有什么用,在我们实例化一个类的时候,我们可以直接给类里面的属性赋值,比如说你这里的Person类,我在主函数里面实例化一下:
Person person=new Person(“江杰”);
那么我们就创建了一个属性name为江杰的Person对象。
你这个构造函数里面的this.name=name;就是让传进来的参数String name等于当前的对象里面的name,this指代当前对象。
基本上就是这样了。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
自定义一个类,在类中定义了成员方法,成员变量,为了程序的严谨,会将成员方法和变量进行私有化,
在构造函数中定义构造函数,在类中会默认给一个空构造函数,
将构造函数自定义,给定方法,例如:
class Person{
   private String name;
   public Person(String name){//在这里定义带参构造函数,定义形参;
     this.name = name;//将调用者给定的值传入成员变量;
   }
}
这样定义了以后,创建对象的时候就可以给对象初始化;
意思就是创建对象的时候就给成员变量和成员方法定义具体内容
其实不难,很好理解的;

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
因为变量name是私有化的 . 不能直接操作。所以通过构造函数Parent传值. 望采纳
回复 使用道具 举报
构造方法的主要作用就是对对象中的成员变量进行初始化。如果你没有定义任何构造方法的形式,程序会默认为你构造一个不带任何参数的构造函数,那么你生成类的对像时,只能用不带参数的构造方法。
回复 使用道具 举报
李啸 中级黑马 2012-5-12 12:56:15
7#
说简单点就是你实例化对象的时候会用到 打个比方  有一只毛要出生了 你是要在生出来之后起名字 还是在还没出生将要出生的时候去起名字
回复 使用道具 举报
魏宇 初级黑马 2012-5-12 12:59:43
8#
构造函数是用于创建对象,也有可能要初始化。
它的特点是你不给系统也会给你一个空参数,你给了系统就不给了。
构造函数还可以用于给属性赋值。
回复 使用道具 举报
构造函数到底有什么用呢?
给对象初始化属性,每个对象通过构造函数,传递属性值,就做到了属性名相同,属性值不同
例如:class person{age name}每个人都有age和name,但每个又不同。
什么时候会用到?
初始化赋值 当用private修饰时就不能在外部New对象,单例就是这样实现的
它里面的参数设置了到底有什么用?
把传进来相应的值赋给对象的属性
回复 使用道具 举报
构造函数的主要作用是完成对新对象的初始化。所以从它的作用我们可以看出当我们在创建类的对象时,
我们就直接指定这个对象属性的值时我们就可以用构造方法来指写。
举个例子来说明一下:
例如://定义一个人类
class Person
{
      int age;
      String name;
     //构造函数
   public Person(int age,String name)
         {
                this.age=age;
                this.name=name;
          }
}
Person p1=new Person(12,"张三");//这里在我们创一个Person的时候,他的年龄和姓名就已经初始化了。
回复 使用道具 举报
若类未定义构造函数函数  则  类中包含了一个  空构造函数  即:
public Person(){}
而当你需要new 一个对象的时候  ,则需要通过构造函数对那个对象进行赋值,

  1. class Person
  2. {
  3.       int age;
  4.       String name;
  5.      //构造函数
  6. public Person(String name) {            
  7.              this.name=name;
  8.           }

  9.    public Person(int age,String name)
  10.          {
  11.                 this.age=age;
  12.                 this.name=name;
  13.           }
  14. }
  15. Person p1=new Person(12,"张三");//
  16. Person p2 = new Person("李四");//构造函数的参数不同所调用的函数也不同
复制代码
回复 使用道具 举报
就以你的这个例子为例:
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、数据存好了,就可以把这个封装好的装满货的对象往你希望它去的地方传送了。很好用滴


以上所述也许还有些局限性啊,知识有限,请多多包涵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马