Java语言的修饰符2011-06-01类、方法、成员变量和局部变量的可用修饰符
| 修饰符 | 类 | 成员方法 | 构造方法 | 成员变量 | 局部变量 |
| abstract | Y | Y | _ | _ | _ |
| static | _ | Y | _ | Y | _ |
| public | Y | Y | Y | Y | _ |
| protected | _ | Y | Y | Y | _ |
| private | _ | Y | Y | Y | _ |
| synchronized | _ | Y | _ | _ | _ |
| native | _ | Y | _ | _ | _ |
| transient | _ | _ | _ | Y | _ |
| volatile | _ | _ | _ | Y | _ |
| final | Y | Y | _ | Y | Y |
1、访问控制修饰符: Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从 而只向使用者暴露接口,但隐藏实现细节。公开级别:用public修饰,对外公开受保护级别:用protected修饰,向子类及同一个包中的类公开默认级别:没有访问控制修饰符,向同一个包中的类公开私有级别:用private修饰,只有 类本身可以访问,不对外公开 顶层类只有默认或公开级别,因此不能用private和protected来修饰。2、abstract修饰符:用来修饰类和成员方法,抽象类不能被实例化,抽象方法不提供具体的实现 。抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象类如果子类没有实现父类中所有的抽象方法,那么子类也必须被定义为抽象类没有抽象构造方法,也没有抽象静态方法抽象类中可以有非抽象的构造方法,创建子类的实例时可能会调用这些构造 方法抽象类及抽象方法不能被final修饰符修饰(原因?)