1. 访问控制修饰符
- default: 不加任何修饰,对包内的class可见,是默认的访问控制权限。
- private:只对所在的类可见,class和interfaces不能是private
- public:对所有可见。interface的字段默认是public static final,方法默认是public abstract。(且只能是的这样,定义成别的报错)
- protected:对package和子类可见。class和interfaces不能是protected,interface中的methods和fields不能是protected
访问控制的继承规则:不降级
2. 非访问控制修饰符
- static:局部变量不能 static
- final:
- 变量只能显式的初始化一次,随后不能再赋值
- 方法不能被重写
- 类不能被继承
- abstract:
- 抽象类不能实例化对象,一个类不能同时abstract又final。如果一个类含有abstract methods,则类必须声明为abstract
- 抽象方法没有实现体。抽象方法不能是final或者strict。abstract void m() ; // 抽象方法
- synchronized和volatile用于多线程