this关键字
那个对象调用方法,这个方法类的this就是指的那个对象
static 关键字(静态的)
static静态的可以修饰属性、方法、代码块和内部类(就是不修饰构造器)
-
static静态的修饰属性(类变量)
①由类他创建的所有对象共用 一个属性,当其中一个对象对此属性进行修改,会导致其他对象的此属性值一起被修改。
②类变量会随着类的加载面加载,而且独一份
③静态变量可以直接通过类.类变量的形式调用
④类变量加载是早于对象,所以当有对象后,可以对象.类变量的使用,但类.实例变量是不行的
⑤变量存在于静态域中
2. static静态的修饰方法(类方法)
①类方法会随着类的加载面加载,而且独一份
②可以直接通过类.类方法的方式来调用
③类方法内部可以调用静态属性或静态的方法,不能调用非静态属性和方法
非静态的可调用静态的(存在的调用已经存在的)
静态的不能调用非静态的(存在的不能调用不存在的)
④静态的方法是不可以有this和super关键字的
注意:静态结构(static的属性,方法,代码块,内部类)的出生是要早于非静态的,同时被回收也要晚于非静态的结构
final关键字
1. final修饰类,该类不能被继承(不能有子类)
通常放在public和class之间的
2. 修饰方法,方法不能被重写
3. final修饰属性和变量,属性和变量的值不能被改变。
5. final修饰对象,该对象的引用不能被改变,即首地址值不能改。
四和访问权限修饰符
Java权限修饰符public 、protected、缺省(default)、private置于类的成员定以前,用来限定对象对该类成员的访问权限。
1. public:他可以在任何地方修饰,可以修饰方法,修饰类,修饰属性(成员变量)
2. protected: 他只能在同一个包类,类的内部,在子类中修饰
3. default(缺省): 他只能在同一个包中类的内部修饰,
4. private:只能在类的内部中修饰
修饰符 |
类内部 |
同一个包 |
子类 |
任何地方 |
private |
√ |
× |
× |
× |
default |
√ |
√ |
× |
× |
protected |
√ |
√ |
√ |
× |
public |
√ |
√ |
√ |
√ |
注意:
default(缺省)省略的意思,不写得意思
class权限修饰,只能用public 和default(缺省)