其实这个问题,黑马的视频中都有解释,我就把我的笔记贴出来吧
构造函数
(1)、特点
1、函数名与类名相同
2、不用定义返回值类型
3、不可以写return 语句
(2)作用:给对象进行初始化
(3)、主意
1、默认构造函数的特点
2、多个构造函数适宜重载的形式存在的
(4)、对象一建立就会调用与之对应的构造函数
(5)、当一个类中没有定义构造函数时,那么系统会默认给该类加入一个默认的空参数的构造函数
(6)、当在类中定义了用户的构造函数,则默认的构造函数将不存在
(7)、构造函数与一般方法的区别
构造函数在对象建立时执行,只有一次
一般方法时,只要调用就会执行
(8)、什么时候定义构造函数呢:当分析事物时,该事物存在剧本一些特性或者行为,那么将这些内容定义在构造函数中
格式- class Car{
- //Car(类型 变量名,类型 比那两名){ 不写,则系统调用默认的,但是只要定义了构造函数,则默认的就没有了,构造函数也可以重载
- // this.num = .....
- //}
- private String color = "red";
- private int num = 0;
- public void run(){
- System.out.pringln("color = "+color+" ; num = "+num);
- }
- }
- class CarDemo{
- public static void main(String[] args){
- Car c = new Car();
- c.color = "blue";
- c.run();
- }
- }
复制代码 还有就是代码块中变量的区别
成员变量,局部变量
(1)、作用范围:成员变量作用于整个类中,局部变量作用于函数中,或者语句中
(2)、在内存中的位置:成员变量在堆内存中,因为对象的存在,才在内存中存在。局部变量存在于栈内存中
如果想使用成员变量,即对象的属性,则应该 对象.变量名,如果该成员变量为类变量,且为static,没有别private修饰,则可以,类名.变量名
在构造函数内,如果成员变量和局部变量重名,根据就近原则, 直接使用该变量则是局部变量,如果想用成员变量,则应使用this关键字,this 代表本来的对象,代表它所在函数对象的引用。简单说哪个对象在调用 this 所在的函数,this就代表哪个对象,this.变量名
以上就是毕老师在视频中的讲解,如有不对的地方,请指出来 |