局部变量和成员变量:
区别
--声明位置不同 类中 方法中
--作用范围不同: 当前类的方法 当前方法
▪ 不同的方法中即使有同名的局部变量,没有关系,互不影响,建议相同
--内存存放的位置的:栈内存中 堆内存中
--成员变量有默认值;局部变量没有默认值
内存分析:
栈:
--存放:局部变量 – 先进后出,自下而上存储
--方法执行完毕,自动释放空间
▪ 堆:
--存放new出来的对象 – 需要垃圾回收器来回收:System.gc()
▪ 方法区:
--存放:类的信息(代码)、 static变量、字符串常量等
构造器:
构造器定义: constructor 构造方法
– 一个在创建对象时被自动调用的特殊方法。
▪ 构造器作用:
--为对象进行初始化(成员变量)工作。
▪ 构造器是一种特殊的方法:
--构造器的方法名必须和类名一致!
--构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能在构 造器里调用return。
--通过new关键字调用!!
--如果我们没有定义构造器,则系统会自动定义一个无参的构造方法。如果已定义则 编译器不会添加无参数构造方法!
--不普通方法一样,构造方法也可以重载
方法的调用:
▪ 形参和实参
– 定义方法的参数是形式参数
– 调用方法的参数是实在参数
– 调用方法时要求参数个数相同,类型兼容
▪ 参数传递
– 基本数据类型的参数传递
▪ 无法通过方法调用改变变量的值
– 引用数据类型的参数传递
▪ 可以通过方法调用改变变量的值