构造方法/构造器

350 阅读3分钟

构造方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。它的特点如下

1)方法名和类名相同(类名为cat则构造器方法也要为cat)

2)没有返回值

3)在创建对象是,系统会自动的调用该类的构造器完成对象的初始化

基本语法

[修饰符] 方法名(形参列表){

方法体;

}

小细节:1)构造器的修饰符可以默认,也可以是public protected private

2)构造器没有返回值

3)方法名与类名必须一致

4)参数列表和成员方法一样的规则

5)构造器的调用,由系统完成

构造器使用细节

1.一个类可以定义多个不同的构造器,即构造器重载

比如:我们给Person类定义一个构造器,用来创建对象的时候可以创建一个指定人名和年龄的或者只指定人名,不需要指定年龄

2.构造器名和类名要相同

3.构造器没有返回值

4.构造器是完成对象的初始化不是创建对象

5.在创建对象时,系统自动的调用该类的构造方法

6.如果程序员没有定义构造器,系统会自动给类生成一个默认无参构造器(也叫默认构造器),比如Dog(){}

7.一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无参构造器了,除非显示的定义一下,即:Dog(){} 这样写出来(这点很重要)

对象创建的流程

1.加载Person类信息(Person.class),只会加载一次

2.在堆中分配空间(地址)

3.完成对象初始化【3.1 默认初始化 age = 0 name = null 3.2 显示初始化 age = 90 name = null 3.3 构造器初始化 age = 20 name = 小倩】

4.对象在堆中的地址返回给p (p是对象名,也可以理解成对象的引用)

this关键字

什么是this:java虚拟机会给每个对象分配this,代表当前对象。

this小结:简单来说,哪个对象调用,this就代表哪个对象

this使用细节

1.this关键字可以用来访问本类的属性、方法、构造器

2.this用于区分当前类的属性和局部变量

3.访问成员方法的语句:this.方法名(参数列表);

4.访问构造方法语句:this(参数列表);注意只能在构造器中使用(即只能在构造器中访问另一个构造器,必须放在第一条语句)

5.this不能在类定义的外部使用,只能在类定义的方法中使用。

访问修饰符

java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):

1.公开级别:用public修饰,对外公开

2.受保护级别:用protected修饰,对子类和同一个包中的类公开

3.默认级别:没有修饰符号,向同一个包的类公开

4.私有级别:用private修饰,只有类本身可以访问,不对外公开

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 19 天,点击查看活动详情