static:
1,被static修饰的成员,会被该类的所有对象共享(判断是否使用静态关键字的条件)
2,被static修饰的成员,会随着类的加载而加载,优先于对象的存在
3,多了一种调用方式,可以通过类名 . 进行调用(推荐使用类名进行调用)
4,就算没有创建对象,也可以提前使用静态内容
5,非静态需要在创建对象之后,才可以进行使用
6,静态方法中,只能访问静态成员(成员变量,成员方法)
7,非静态方法中,可以访问静态成员,也可以访问非静态成员
8,静态方法中,没有this关键字
9,this需要在创建对象之后,才会存在,静态存在的时候,对象可能还没有被创建
总结:静态方法中,只能访问静态成员,静态中没有this关键字
final:
1,final关键字是最终的意思,可以修饰成员方法,成员变量,类
2,final修饰的特点
① 修饰方法:表明该方法是最终方法,不能被重写
② 修饰变量:表明该变量是常量,不能再次被赋值
③ 修饰类:表明该类是最终类,不能被继承
3,final修饰局部变量
变量是基本类型:final修饰指的是基本类型的数据值不能发生改变
变量是引用类型:final修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容分是可以发生改变的
权限修饰符:
修饰符 | 同一个类中 | 同一个包中,子类无关类 | 不同包的子类 | 不同包的无关类 |
private | O | |||
默认 | O | O | ||
protected | O | O | O | |
public | O | O | O | O |