1、public、protected、default和private修饰符的做用域java
public:在java程序中,若是将属性和方法定义为 public 类型,那么此属性和方法所在的类和及其子类,同一个包中的类,不一样包中的类均可以访问这些属性和方法。spa
protected:在java程序中,若是对属性和方法使用了 protected 修饰符修饰,那么该属性和方法只能在本身的类和子类中被访问。对象
(空的):默认的,若是没有指定访问控制修饰符,则表示使用默认修饰符,这时变量和方法只能在本身的类及该类同一个包下的类中访问。blog
private:在java程序中,若是将属性和方法定义为 private 类型,那么此属性和方法只能在本身的类中被访问。在其余类中不能被访问。作用域
做用域图示变量
2、其余修饰符float
static:被 static 修饰的变量为静态变量,被static修饰的方法为静态方法。属于类,能够经过类名调用。不被static修饰的变量或方法属于对象,要有对象才能调用。程序
final:被 final 修饰的变量在程序整个执行过程当中最多被赋值一次,因此常常它被定义为常量。方法
transient:它只能修饰非静态的变量。im
volatile:和 transient 同样,它只能修饰变量。
abstract:被 abstract 修饰的方法称为抽象方法。
synchronized:该修饰符只能应用于方法,不能修饰类和变量。
3、四种访问修饰符做用域小结
public:对全部类可见。
protected:对本包中的类和全部子类可见。
default:对本包中的类可见。default 通常不写
private:仅对本类可见。