黑马程序员技术交流社区

标题: 请教大家,构造函数怎么用呀 [打印本页]

作者: yjgoss    时间: 2013-12-8 20:38
标题: 请教大家,构造函数怎么用呀
本帖最后由 yjgoss 于 2013-12-9 17:13 编辑

请教大家,构造函数怎么用呀
作者: Cola    时间: 2013-12-8 21:00
构造函数名与类名相同,用于给对象进行初始化。类中有一个默认的空参数的构造函数,当自定义了构造函数,默认的空参数的构造函数就没了,对于不同的对象可以用重载的构造函数来实现初始化。比如学生类中有姓名,年龄,学号等属性,构造函数就可以给有一种或者多种属性的学生进行初始化。
  1. class Student
  2. {
  3.         private String name;
  4.         private String sex;
  5.         private String num;
  6.         Student()
  7.         {
  8.         }
  9.         Student(String name,String num)
  10.         {
  11.                 this.name=name;
  12.                 this.num=num;
  13.         }
  14.         Student(String name,String sex,String num)
  15.         {
  16.                 this.name=name;
  17.                 this.sex=sex;
  18.                 this.num=num;
  19.         }
  20. }
复制代码

作者: 郭涛    时间: 2013-12-8 21:25
给你说说构造函数的特点差不多就能明白了。
作者: 郭涛    时间: 2013-12-8 21:31
作用:构造函数主要作用是完场对象的初始化工作,它能够把定义对象时的参数传给对象的域。
特点:
1、构造函数的名字必须与类名相同(重要)
2、构造函数没有返回值类型,也不能定义void,在方法名前不声明方法类型(重要)
3、构造函数是由系统调用执行的(编程人员不能调用)
4、一个类可以定义多个构造函数,也就是构造函数可以重载,以参数的个数、类型、排列顺序区分
5、构造函数的细节:如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
作者: Cheers_for_CRAZ    时间: 2013-12-8 21:33
1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名)
2.每个类可以有一个以上的构造器
3.构造器可以有0个、1个或1个以上的参数
4.构造器没有返回值
5.构造器总是伴随着new操作一起调用
使用super调用父类构造器的语句必须是子类构造器的第一条语句
如果子类构造器没有显式地调用父类的构造器,则将自动调用父类的默认(没有参数)的构造器。如果父类没有不带参数的构造器,并且在子类的构造器中又没有显式地调用父类的构造器,则java编译器将报告错误



作者: 郭涛    时间: 2013-12-8 21:41
      
  1. public class Student {
  2.         private String name;
  3.        
  4.         private  int age;
  5.        
  6.         public Student() {
  7.                 super();
  8.         }

  9.         public Student(String name, int age) {
  10.                 super();
  11.                 this.name = name;
  12.                 this.age = age;
  13.         }
  14. }
复制代码
                                       
作者: 侠客梦的懒猫    时间: 2013-12-8 21:46
对于构造函数也就是这个类的一个方法,只不过这个方法,不用类型。构造函数其实就是初始化对象的。
如Student的类的构造函数
1,
public Student()
{
   
}
2,
public Student(String name)
{
  this.name=name;  
}
这都是它的构造函数,我们只要建立对象
Student stu=new Student(“xiaofang”);
这样就默认调用了构造函数,已经给对象一个名字了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2