1、访问控制修饰符
public的访问级别是最高的,其次是protected、默认和private
成员变量和成员方法可以处于4个访问级别中的一个:公开、受保护、默认或私有
顶层类可以处于公开或默认级别,顶层类不能被protected和private修饰
局部变量不能被访问控制修饰符修饰
2、abstract修饰符
抽象类不能被实例化
抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象方法
如果子类没有实现父类中所有的抽象方法,子类也必须定义为抽象类
抽象类不能被定义为private、final、和static类型
没有抽象的构造方法
抽象方法没有方法体
3、final修饰符
用final修饰的类不能被继承
用final修饰的方法不能被子类的方法覆盖
private类型的方法都默认为是final方法,因而不能被子类的方法覆盖
final变量必须被显式初始化,并且只能被赋值一次值
4、static修饰符
静态变量在内存中只有一个拷贝,在类的所有实例中共享
在静态方法中不能直接访问实例方法和实例变量
在静态方法中不能使用this和super关键字
静态方法不能被abstract修饰
静态方法和静态变量都可以通过类名直接访问
当类被加载时,静态代码块只能被执行一次。类中不同的静态方法代码块按他们在类中出现的顺序被依次执行
当多个修饰符连用时,修饰符的顺序可以颠倒,不过作为普遍遵守的编程规范,通常把访问控制修饰符放在首位,其次是static或abstact修饰符,接着就是其他的修饰符
以下修饰符连用是无意义的,会导致编译错误:
abstract与private
abstract与final
abstract与static