权限修饰符
权限修饰符 | 跨包 | 子类 | 同包 | 本类 |
public | YES | YES | YES | YES |
protected | NO | YES | YES | YES |
默认不写的 | NO | NO | YES | YES |
private | NO | NO | NO | YES |
final
- 修饰属性 只有一次赋值的机会 不能再发生改变
- 修饰方法 该方法不能被子类重写(覆盖)
- 修饰类 该类不能被其他的子类继承
static
- 修饰属性 修饰方法 修饰块 修饰内部类
- 静态元素再类加载时即被初始化,创建的很早,创建时只有类,还没有对象
- 静态元素存储在静态元素区中,每一个类有一个单独的自己的区域,与别的类不冲突
- 静态元素区不能被GC管理,可以简单粗暴的认为静态元素常驻内存
- 静态元素只加载一次(只存在一份),全部类对象及类本身共享
- 静态元素与对象没有关系,属于类的
- 由于静态元素在加载的时候有可能没有创建对象,我们可以通过类名字直接访问
- 静态元素中可以直接访问静态元素(都存在静态元素区中)
- 非静态元素可以直接访问静态元素,需要静态元素中创建对象来访问
- 静态元素中不可以直接访问非静态元素
- 静态元素中不可以有this super关键字(静态元素属于类,this super代表的是对象)