什么是成员变量
成员变量:在类体中定义的变量为成员变量,作用范围是整个类,只要在这个类中都可以访问到它。
成员变量如果有 static 关键字修饰,则该成员变量称为静态变量或类变量;
如果该成员变量没有 static 关键字修饰,则该成员变量被称为非静态变量或实例变量。
什么是局部变量
局部变量是指一个方法内定义的变量。
局部变量与成员变量的区别
1、:在类中的位置不同
成员变量:在类中方法外
局部变量:在方法定义中或者方法声明上
2、在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
3、生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
4、初始化值不同
成员变量:有默认初始化值
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
注意事项:: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则
静态变量与成员变量的区别
1、 所属不同
静态变量属于类,所以也称为为类变量
成员变量属于对象,所以也称为实例变量(对象变量)
2、内存中位置不同
静态变量存储于方法区的静态区
成员变量存储于堆内存
3、内存出现时间不同
静态变量随着类的加载而加载,随着类的消失而消失
成员变量随着对象的创建而存在,随着对象的消失而消失
4、调用不同
静态变量可以通过类名调用,也可以通过对象调用
成员变量只能通过对象名调用
参数的传递
在 参数递调用过程中,只能把实参传递给形参,而不能把形参的值反向作用到实参上。在方法调用过程中,形参的值发生改变,而实参的值不会发生改变。
而在 引用传递调用的机制中,实际上是将实参引用的地址传递给了形参,所以任何发生在形参上的改变也会发生在实参变量上。
形式参数是基本类型要的是一个基本类型的变量或者具体的常量值
是类名的时候要的是一个该类的对象
是抽象类名的时候的要的是一个继承自该类的一个子类对象
是接口的时候要的是一个实现了该接口的子类对象
形参:就是形式参数,用于定义方法的时候使用的参数,是用来接收调用者传递的参数的。
实参:就是实际参数,用于调用时传递给方法的参数。实参在传递给别的方法之前是要被预先赋值的。
数据类型
Java 中的数据类型分为两大类, 基本类型和 对象类型。相应的,变量也有两种类型: 基本类型和 引用类型 基本类型的变量保存
原始值,即它代表的值就是数值本身, 原始值一般对应在内存上的 栈区 而 引用类型的变量保存 引用值,引用值指向内存空间的地址。
基本类型包括: byte, short, int, long, char, float, double, boolean 这八大基本数据类型
引用类型包括: 类类型, 接口类型和 数组