构造方法
1)给成员变量赋初值
2)与类同名,没有返回值类型
3)在创建(new)对象时被自动调用
4) 若自己不写构造,则默认给一个无参构造;若自己写了构造则不再默认提供了。
5)构造方法可以重载
this:指代当前对象,哪个对象调用方法指的就是哪个对象,只能用在方法中,在方法中访问成员变量之前默认有个”this.”
this的用法:
this.成员变量名-------------------访问成员变量
this.方法名-------------------------调用方法(一般不用)
this()--------------------------------调用构造方法
public class Student {
//成员变量
String name;
int age;
String address;
//构造方法
public Student(String name, int age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
//重载
public Student(String name, int age) {
this(name, age, null);
}
public Student(String name) {
this(name, 0, null);
}
//方法
void study() {
System.out.println(name + "在学习");
}
void sayHi() {
System.out.println("大家好,我叫" + name + "今年" + age + "岁" + "家住" + address);
}
}
成员变量和局部变量可以同名,局部变量只在其方法内部有效。因为二者存储位置不同。
1、局部变量:在方法内定义的变量称为“局部变量”或“临时变量”,方法结束后局部变量占用的内存将被释放。
2、成员变量:在类体的变量部分中定义的变量,也称为字段。
3、全局变量:全局变量,又称“外部变量”,它不是属于哪个方法,作用域从定义的地址开始到源文件结束。
4、局部变量和成员变量主要是他们作用域的区别:
成员变量个是类内部;局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置)。
成员变量可以不显式初始化,它们可以由系统设定默认值;局部变量没有默认值,所以必须设定初始赋值。
在内存中的位置也不一样。成员变量在所在类被实例化后,存在堆内存中;局部变量在所在方法调用时,存在栈内存空间中。








网友评论