this
this代表——对象
- 是一个指代,指代调用者本身,哪个对象在调用this所在的函数,this就代表哪个对象
好多this省略掉了,如果show()相当于说毕老师,那么this.show()就相当于说,传智播客的毕老师。
this是一个对象的引用,,跟一个对象的别名p一样,如果指代某一个对象的话,里面存放的是一个地址值,指向那个对象。
构造函数间调用,只能用this语句,注意,这边的this不表示person这个单词的省略,this还是表示对应的对象。
static
static——类变量,被对象所共享
1.多个对象中存在相同的数据的值,就设为静态,共享,节省内存,每个对象所特有的数据,值就随着每个对象自身存储,
2.被修饰为static之后就上升为类的东西了,随着类的加载而加载,优先于对象的存在,
3.静态变量可以直接被类所调用,
4.静态的都放在方法区(共享区)里,
5.static使用注意:
- 静态方法只能访问静态成员,因为这个时候非静态的变量属于对象,而对象还没被类创建,内存中根本没有这个变量,怎么访问
- 非静态方法既可以访问静态,也可以访问非静态
- 静态方法中不可以定义this,super关键字,因为静态方法优先于对象存在
- 通常情况下工具类定义的都是静态方法,然后这些静态方法直接用类来调用,其他类也可以调用这个类里面的方法
构造函数&静态代码块&构造代码块
静态代码块——给类初始化的
构造代码块——给对象初始化的
构造函数——给对象初始化赋值的
new一个对象,按照静态代码块,构造代码块,构造函数的顺序初始化
理一下关系
最后,调用都要有东西调用的,非静态省略的this.,静态省略的是类名.
 ̄□ ̄||GG。。。。