构造器 / 构造方法
介绍
构造方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。
语法
【修饰符】 方法名 (形参列表) { 方法体; }
注意:
- 构造器的修饰符可以默认,也可以是 public protected private;
- 构造器没有返回值;
- 方法名和类名字必须一样;
- 参数列表 和 成员方法一样的规则;
- 构造器的调用, 由系统完成;
特点:
- 方法名和类名相同;
- 没有返回值;
- 在创建对象时,系统会自动的调用该类的构造器完成对象的初始化;
使用细节:
- 一个类可以定义多个不同的构造器;即构造器重载比如:我们可以再给Person类定义一个构造器,用来创建对象的时候,只指定人名,不需要指定年龄
- 构造器名和类名要相同;
- 构造器没有返回值;
- 构造器是完成对象的初始化,并不是创建对象;
- 在创建对象时,系统自动的调用该类的构造方法;
- 如果程序员没有定义构造器,系统会自动给类生成一个默认无参构造器(也叫默认构造器);比如Dog(0,使用javap指令反编译看看
- 一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无参构造器,除非显式的定义一下;即:Dog0{}写(这点很重要)
This关键字
使用细节
- this 关键字可以用来访问本类的属性、方法、构造器;
- this 用于区分当前类的属性和局部变量;
- 访问成员方法的语法:this.方法名(参数列表);
- 访问构造器语法:this(参数列表); 注意:只能在构造器中使用(即只能在构造器中访问另外一个构造器, 必须放在第一 条语句)
- this 不能在类定义的外部使用,只能在类定义的方法中使用;
小结
哪个对象调用,this就代表哪个对象
作用域
基本使用
在java编程中,主要的变量就是属性(成员变量)和局部变量;
我们说的局部变量一般是指在成员方法中定义的变量;
java中作用域的分类: 全局变量:也就是属性,作用域为整个类体 局部变量:也就是除了属性之外的其他变量,作用域为定义它的代码块中!
全局变量(属性)可以不赋值,直接使用,因为有默认值,局部变量必须赋值后,才能使用,因为没有默认值;
细节讲解
- 1.属性和局部变量可以重名,访问时遵循就近原则;
- 在同一个作用域中,比如在同一个成员方法中,两个局部变量,不能重名;
- 属性生命周期较长,伴随着对象的创建而创建,伴随着对象的销毁而销毁。局部变量生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而销毁。即在一次方法调用过程中;
- 作用域范围不同:
全局变量/属性:可以被本类使用,或其他类使用(通过对象调用)
局部变量:口能在木米中对应的方法中使田- 修饰符不同:
全局变量/属性:可以加修饰符
局部变量:不加修饰符