当使用new来创建一个对象的时候,其实是调用了一个函数,这个函数的名称叫做构造函数
构造函数的特点:
1.构造函数的名称必须和类名完全一致,包括大小写。
2.构造函数不写返回值,不写返回值意味着连void都不写。
3.如果开发人员没有任何的构造函数,java的虚拟机会自动创建一个不带参数的构造函数,在这个函数中什么都不做。
4.当开发人员创建一个构造函数之后,jvm就不会再创建不带参数的构造函数了!。
5.构造函数只能用new来调用,不可能用对象来调用。
6.在java中是可以存在重名的函数的,只要函数的参数类型不一样,这样的函数叫做函数的重载。
一.关于构造函数中this指针的例子及其内存模型

相关例子

内存模型
二.构造函数中常见的函数问题

相关例子
rn2这种方法就不行,因为没有不带参数的构造函数,程序找不到,所以编译会出错。
三.构造函数中的函数重载

相关例子
在java中是可以存在重名的函数的,只要函数的参数类型不一样,这就叫做函数的重载。
在调用过程中知道调用的是哪一个就行,明确参数!
JAVA学习群669823128