1.类修饰符
public :所有位置都可以访问该类
friendly(默认):同一个包中的类可以访问,可以被继承(包括别的包中的类)
final:声明为最终类,不能被继承
abstract:抽象类,抽象类不能被实例化,只能被继承,且子类需要实现抽象类中所有的抽象方法
接口中所有的方法都是默认public abstract,所有的成员变量都默认是final static
个人认为,类声明为private是没有意义的,因为如果一个类不能够被其他地方访问,这个类还有存在的意义吗。
类修饰符没有protected,因为没有必要,类的子类自然有对该类的“访问权限”,实际上权限的问题转移到了子类对父类中的成员变量以及方法有无访问权限,而这些由他们各自的成员变量、方法修饰符决定。
2.成员变量修饰符
public:所有类都可以访问
protected:同一个包中的类或者子类可以访问
默认:同一个包中的类可以访问(和类修饰符的friendly的意义不同)
private:只有该类本身可以访问
final:声明为最终变量,不可改变
static:静态变量
3.方法修饰符
public:同成员变量
protected:同成员变量
默认:同成员变量
private:同成员变量
final:方法不能被重写、可以被重载
static:静态方法
synchronize:同步修饰符,用于线程对方法的加锁
4.局部变量修饰符
局部变量只能够被两种修饰符修饰:默认和final