1、构造方法:构造函数,构造器,构建器-------复用,给成员变量赋初始值
#作用:给成员变量赋初始值
#与类同名,没有返回值类型(连void也没有)
#在创建(new)对象时被带调用
#自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供
#构造方法可以重载
2、this:指代当前对象,哪个对象调用方法它指的就是哪个对象,只能用在方法中,方法中访问成员变量之前默认有个this。
#this的用法:
(1)、this.成员变量名-------访问成员变量
成员变量与局部变量同名时,若想访问成员则this不能省略
class Student {
String name; //成员变量,整个类中
int age;
String address;
//局部变量(当前方法中)
Student(String name,int age,String address){
this.name=name;
this.age=age;
this.address=address;
(2)、this.方法名()--------调用方法
(3)、this( )---------调用构造方法
3、null: 表示空,没有指向任何对象
若引用的值为null,则该引用不能进行任何点操作了,
若操作则发生NullPointerException空指针异常
Bomb b1=new Bomb( );
b1.x=150;
b1=null; //表示空
b1.x=150; //运行时会发生NullPointerException空指针异常
补充:
1、成员变量和局部变量可以是同名的:
---使用的时候默认采取就近原则
---若想访问成员变量,则this不能省略
2、内存管理:由JVM来管理
堆:new出来的对象(包括成员变量)
栈:局部变量(包括方法的参数)
方法区
3、成员变量:写在类中,方法外---有默认值
局部变量:方法中------------没有默认值
4、数组也是一个对象,所以数组对象也存储在堆中,将数组的元素当作成员变量一并存储在堆中。