this关键字与super关键字说明:this是Java提供的关键字,表示当前实例化的对象本身。super是Java提供的关键字,表示当前实例化的对象的父系。
使用:
1.this/super+属性
2.this/super+方法
3.this/super+构造方法
使用场景:
1.this/super+属性
在一个类中当方法要传的变量与这个类本身的全局变量重名时,由于Java语言的确定性,这时候就要用this来区分哪一个是全局变量,特别是在方法传来的变量要赋值给全局变量时,super表示在继承中父系的全局变量,用来区分父系与子系重名的全局变量
2.this/super+方法
在一个类中想要创建一个新的方法时,可以用this来指代它本身(就是说用this+属性指的是本类的全局属性)在一个类中想要创建一个新的方法时,可以用super来指代它的父类(就是说用super+属性指的是本类父系的全局属性)
3.this/super+构造方法
this():这构造方法指的是空参构造
this(属性值):这构造方法指的是有参构造
super():这构造方法指的是父系的空参构造
super(属性值):这构造方法指的是父系的有参构造
this()/this(属性值)只能在构造方法中使用;this()/this(属性值)只能出现在构造方法中的第一行;this()/his(属性值)使用要避免递归问题(这样出现死锁现象);super()/super(属性值)的用法与this一样
Stactic用法:
1. stactic+属性
2.stactic+方法
3.stactic代码块
注意:
stactic+属性和stactic+方法,是随着类的加载而加载,是不依赖对对象的实例化,只要你的类存在,那么用stactic修饰的属性和方法就存在,这就可以运用于当你实例化一个对象时,想要这个实例化对象的属性/或方法被下一个类引用时就可以用stactic来修饰。
stactic代码块只会运行一次,所以可以用来初始化一些参数。