目录
构造方法
构造方法概述
官方定义:专门在创建对象时使用的方法
一个类只有拥有构造方法,外界才能使用 new 关键字为它创建对象
构造方法前期作用:
1、 用来创建对象
2、 为成员变量赋值
简单的定义以及使用格式
简单格式:
成员变量…………
public 类名(){
}
成员方法…………
构造方法没有返回值和返回值类型,方法内也无需使用 return 关键字
方法名必须和类名一致
使用格式:
new 类名();
new 关键字的 意思是调用构造方法,创建对象。
类名() 就是被调用的构造方法
以上写法叫做空参构造 或 无参构造
带有参数的定义及使用格式
构造方法也是能够被重载的。(即方法名相同,参数列表不同)
格式:
成员变量…………
public 类名(参数类型 参数 1,参数类型 参数 2 ……){
}
成员方法…………
使用格式:
new 类名(参数 1,参数 2……);
带有参数的构造方法,可以创建对象,也可以为成员变量赋值
快速创建构造方法的方式
一般情况下,构造方法不需要程序员手写,而是通过 IDEA 快捷创建
AIt+Insert
注意事项
java类的构造方法必须存在
Java 自动补齐的构造方法:默认构造方法。
默认构造方法特点:public 、 无参数 、 无内容
构造方法的定义习惯
无参构造(必须创建出来,不要依赖 Java 的自动补齐机制)带参构造
这样,如果需要仅创建对象,我们使用无参构造。
如果需要既创建对象,又为成员变量赋值,我们可以使用带参构造
构造方法之间的相互调用(了解)
无参构造运行时调用带参构造
有参构造运行时调用无参构造
注意:
1、 构造方法不能进行递归调用!
2、 内部调用构造方法时使用 this 关键字。
标准类的定义
private 修饰的成员变量
无参构造方法
带参构造方法
普通成员方法
操作成员变量的 getXxx 和 setXxx 方法
容器存储自定义类型对象
数组存储
类名[] 数组名 = {元素1,,元素2,元素N...}
ArrayList存储
ArrayList<类名> 集合名 = new ArrayList<类名>();
ArrayList 只能存储引用数据类型对象,不能直接存储基本数据类型
这也是指定 ArrayList 集合存储元素时,将 int 指定为 Integer 类型的原因。(Integer 是 int 的引用数据类
型,里面包含了基本数据类型 int 的值)
成员变量和局部变量的区别(了解)
回顾
局部变量:
定义在某个方法内的变量 / 方法参数
作用范围:仅在当前方法内部可用。
适用于:仅某个方法会使用到的变量
成员变量:
定义在类中、方法外的变量。
作用范围:在该类中的任意位置有效
适用于:多个方法都需要使用到的变量
其他区别
在类中位置不同
局部变量:方法内变量或者方法参数
成员变量:类中,方法外
在内存中的位置不同
局部变量:栈内存
成员变量:堆内存
生命周期不同
局部变量:方法被调用执行就存在,方法执行完毕就消失
局部变量:方法被调用执行就存在,方法执行完毕就消失
局部变量好比是跑鞋。跑鞋只有跑步时穿
成员变量好比是人的心肝肺,人出生就具有。无论跑步还是吃饭都是有的
初始化值不同
局部变量:没有默认值。使用之前必须先赋值
成员变量:有默认值。即使不赋值也能正常使用。