在创建某个对象的时候,代码如下:
Student s1 = new Student();
这个代码特别像在调用一个方法名称为Student的无参数方法
我们将这种特殊的方法称之为 构造方法,构造器(Constructor)
但在Student类中,又找不到该构造方法却又不报错
编译器在编译源文件的时候,会创建一个缺省的构造器
构造器的作用:
1)创建对象,必须和new一起使用
1)构造器的名称和当前所在类的名称相同
2)禁止定义返回类型,不能使用void作为返回类型,void Student(){}是普通方法
3)在构造器中,不需要使用return语句
其实构造器是有返回值的,返回的是当前创建对象的引用
编译器创建的默认构造器的特点:
1)符合构造器特点
2)无参数的
3)无方法体的
4)若A类没有使用public修饰,则编译器创建的构造器也没有public修饰
Student s1 = new Student();
这个代码特别像在调用一个方法名称为Student的无参数方法
我们将这种特殊的方法称之为 构造方法,构造器(Constructor)
但在Student类中,又找不到该构造方法却又不报错
编译器在编译源文件的时候,会创建一个缺省的构造器
构造器的作用:
1)创建对象,必须和new一起使用
2)完成对象的初始化操作
1)构造器的名称和当前所在类的名称相同
2)禁止定义返回类型,不能使用void作为返回类型,void Student(){}是普通方法
3)在构造器中,不需要使用return语句
其实构造器是有返回值的,返回的是当前创建对象的引用
编译器创建的默认构造器的特点:
1)符合构造器特点
2)无参数的
3)无方法体的
4)若A类没有使用public修饰,则编译器创建的构造器也没有public修饰
使用了public修饰,则编译器创建的构造器也使用public修饰
构造器:如果我们没有显示提供构造器,则编译器子啊编译时创建一个缺省的构造器
如果我们显示定义了一个构造器,则编译器不再创建默认构造器
推论:一个类至少有一个构造器
方法的重载(overload)
避免了在同一个类中,相同功能的方法名称不同的问题
判断依据:两同一不同
构造器也是一种特殊的方法,也必然存在重载