1、构造方法:给成员变量做初始化作用的
格式:public class 类名{
修饰符 类名(参数){
}
}
构造方法在创建对象的时候调用。
注意事项:(1)构造方法的创建
如果没有定义构造方法,系统将给出一个默认的无参数构造方法
如果定义了构造方法,系统将不再提供默认的构造方法
(2)构造方法的重载
如果自定义了带参构造方法,还要使用无参构造方法,就必须再写一个无参构造方法
2、类的成员方法
没有返回值的方法,直接调用可以输出结果
有返回值的方法,调用的时候,需要用一个变量接收返回值或者直接是使用
3、创建对象初始化的流程
a:先将class文件加载到方法区中
b:在栈中为变量开辟空间
c:在堆内存中创建对象
d:系统给成员变量进行默认赋值
e:给成员变量进行显示赋值
f:构造方法给成员变量进行赋值
g:将堆内存中的地址赋值给栈内存中的变量
4、static关键字
(1)static关键字是静态的意思,它可以修饰成员变量和成员方法、
(2)static修饰的特点:
被类的所有对象共享,这也是我们判断是否使用静态关键字的条件
(3)被static修饰的成员随着类的加载而加载,加载到方法区中的静态区,又称之为类成员
被static修饰的成员可以直接通过类名访问,格式:类名.静态成员
(4)属性静态的内存图
(5)static访问特点:
非静态的成员方法:能访问静态的成员变量,能访问非静态的成员方法,能访问静态的成员方法,能访问非静态的成员方法
静态的成员方法:能访问静态的成员变量,能访问静态的成员方法
总结一句话:静态成员方法只能访问静态成员
5、静态变量与成员变量的区别:
(1)所属不同
静态变量属于类,所以也称为为类变量
成员变量属于对象,所以也称为实例变量(对象变量)
(2)内存中位置不同
静态变量存储于方法区的静态区
成员变量存储于堆内存
(3)内存出现时间不同
静态变量随着类的加载而加载,随着类的消失而消失
成员变量随着对象的创建而存在,随着对象的消失而消失
(4)调用不同
静态变量可以通过类名调用,也可以通过对象调用
成员变量只能通过对象名调用