简述Java中的修饰符

来源:互联网 发布:java工作流引擎有哪些 编辑:程序博客网 时间:2024/06/05 20:17

Java中的修饰符:
类是Java中最小的组成单位。
类修饰符(这里的类不包括内部类,内部类的修饰与成员方法除成员方法特有的外大致相同):
public表示为共有类,被public修饰的类的源程序(即.java文件)文件名必须和类名一致,无修饰符的类无此要求,但默认要一致;
abstract表示为抽象类,抽象类中可以不包含抽象方法,包含抽象方法的类必须被声明为抽象类;构造方法、类成员方法不能被声明为抽象方法;抽象类不能被实例化;
final表示为终结类,最终类中可以不包含最终方法,包含最终方法的类可以是最终类也可以是非最终类;最终类不可被继承,最终方法不可被重写。
类体中声明了该类的所有变量和方法,称为成员变量和成员方法。
成员变量与成员方法的修饰符:
public表示为共有成员,该成员可以被所有类访问;
默认修饰的成员可以被定义在同一个包(package)中的类访问;
protected表示为保护成员,该成员可以被子类和同一包中的类访问;
private表示为私有成员,只能被同一类中定义的方法使用;构造方法私有化后,成员方法需用static修饰,否则无法访问;
static表示为静态成员;静态成员随着类的加载而加载,存放在方法区中的静态区,在创建该类对象时,静态成员只会加载一次,之后创建新的对象时静态成员不会再加载;静态成员变量被该类所有对象所共有,如果一个对象修改了该变量值,该类的所有对象都会随之改变;静态修饰的成员可以使用类名直接调用,不必须通过创建对象;
final表示为最终成员;final可以声明一个常量,在程序中不能修改它的值;被final修饰的成员变量必须在构造方法中赋值,且不能被改变;final修饰的方法称为最终方法,不能被重写;
volatile用来声明一个共享变量,在并发多线程共享变量时,可使用volatile修饰,使得各线程对此变量的访问能保持一致;
synchronized修饰的方法执行之前设置同步机制,实现线程同步;
abstract修饰的方法为抽象方法,包含抽象方法的类必须被声明为抽象类;
native修饰的方法为本地方法,其实现与底层C语言有关。
成员变量与局部变量的区别:方法李的局部变量不能用除final外的其他修饰符,否则会编译报错;局部变量不能被外界存取。