标题: modifier总结 [打印本页] 作者: lucascgz 时间: 2015-12-9 20:39 标题: modifier总结 修饰符总结 Modifiers
函数修饰符始终在返回值类型之前!!!
变量修饰符始终在变量类型之前!!!
--------------------------------------------------------------------------------
ClassModifier: one of
Annotation public protected private
abstract static final strictfp
外部类: 不可被 protected, private, static 和 final 修饰
成员内部类: 都可以
非成员内部类: 都不可以
FieldModifier: one of
Annotation public protected private
static final transient volatile
MethodModifier: one of
Annotation public protected private
abstract static final synchronized native strictfp
ConstructorModifier: one of
Annotation public protected private
InterfaceModifier: one of
Annotation public protected private
abstract static strictfp
VariableModifier: one of
Annotation final
--------------------------------------------------------------------------------
class field method constructor interface variable
Annotation √ √ √ √ √ √
--------------------------------------------------------------------------------
/*
包与包之间成员和构造器的访问权限总结:
public protected 无修饰符 private
同一个类中 ok ok ok ok
同一个包中 ok ok ok
不同包子类 ok ok
不同包中 ok
不同包成员访问的前提: 被访问的类必须是 public, 且被访问的成员也必须是 public 的
不同包中的子类还可以直接访问父类中 protected 的成员和构造器
实际编程中, 访问的类一般都是不同包的:
类是 public 的, 构造器是 public 的,
允许被不同包的类创建对象; 否则禁止被不同包的类创建对象
类是 public 的, 构造器是 protected 的
只允许被不同包的类继承(就是设计来被继承的, 此时不允许被不同包的类创建对象)
类是 public 的, 构造器是 private 的(一般也是 final 的)
不允许被创建对象(包括本包的类都不行), 此时一般提供 public 方法获取类的对象