黑马程序员技术交流社区
标题:
求解构造函数
[打印本页]
作者:
彭盼
时间:
2012-2-28 21:40
标题:
求解构造函数
第一次接触构造函数,感觉有点难理解,到底构造函数和普通的函数有什么本质的区别,老师在视频中讲,构造函数是一多重重载形式存在的,这又是什么意思
作者:
田啸
时间:
2012-2-28 21:46
构造方法是一种特殊的方法,具有以下特点。
(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)构造方法不能由编程人员调用,而要系统调用。
(5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
(6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
java 构造函数的执行过程
类初始化时构造函数调用顺序:
(1)初始化对象的存储空间为零或null值;
(2)调用父类构造函数;
(3)按顺序分别调用类成员变量和实例成员变量的初始化表达式;
作者:
朱皓
时间:
2012-2-28 22:09
Java里面static一般用来修饰成员变量或函数。但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以。被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类
1.public class OuterClass {
2. public static class InnerClass{
3. InnerClass(){
4. System.out.println("============= 我是一个内部类'InnerClass' =============");
5. }
6. }
7.}
作者:
王--明
时间:
2012-2-28 22:47
在创建对象的过程中调用的方法。
1:构造器没有返回类型。
2:构造器的名字与类名相同。
格式为:[ 修饰符 ] 类名( 参数列表 ){ },修饰符可以是private、 protected、 default、private
在一个对象的生成周期中构造器只用一次,由系统自动调用,不允许手工调用。
程序员没有提供一个构造器,系统会自动提供一个无参的构造器。
在构造函数执行的时候,可以使用this,所以说在执行构造函数的时候,类对象已经存在了,更说明类对象不是构造函数创建的,
3:获得对象的方式:
通过new(在堆空间中申请分配空间),new 类名(),可以通过这种形式或的一个对象,这时的对象是无法使用,必须把他的地址存放进一个对象变量才能够使用。
例如 :
Car c=new Car();
注意: new操作符有2个主要工作,首先根据String类的定义,在堆中为其分配内存,然后调用String类的构造函数。
作者:
骆龙
时间:
2012-2-28 22:58
从类的角度理解:构造函数是 类加载的默认条件,也就是说 你如果没定义构造函数时,系统 会给你默认加入一个空参数的构造函数。参数为 null或 0
因为类被加载,就要在堆内存中开辟一片空间,该内存中的属性必须得进行初始化值
从对象的角度看: 构造函数是给对象初始化,是在对象一建立就运行, 而一般函数(功能)是对象调用它,它才给对象添加它所具备的功能。
构造函数一般定义对象的特性,构造代码块定义对象的共性
作者:
骆龙
时间:
2012-2-28 23:06
多个构造函数肯定是以重载形式存在,因为 都是函数名相同(与类同名) 参数列表不同 没有返回类型void:注意不是没有返回值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2