Java修饰符:
1、访问控制修饰符:
default:默认访问修饰符
private:最严格的访问级别,被修饰的对象为:方法、变量、构造方法,被修饰后只能被被所属类访问。类和接口不能为private。声明为private的变量只能通过类中公共的getter方法被外部类访问。
public:被声明的可以是:类、方法、构造方法、接口。类所有的方法和变量都能被子类继承。
protected:被声明的可以是:变量、方法、构造方法。类和接口不能为protected,接口的成员变量和成员方法不能声明为protected。
访问权限大小排序:public(default)---->protected-------->private (访问权限从大到小)
2、非访问修饰符:
static修饰符:
修饰变量:静态变量
修饰方法:静态方法,静态方法只能使用静态变量
Final修饰符:
修饰变量:final修饰符通常和static修饰符一起使用用来创建类常量
修饰方法:类中final方法可以被子类继承,但是不能被子类修改(声明final方法的主要目的是防止该方法的内容修改)
修饰类:final类不能被继承,没有类能够继承final类的任何特性
Abstract修饰符:
抽象类:抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充,如果被abstract修饰后,就不能被final修饰
抽象方法:抽象方法是一种没有任何实现的方法,该方法的具体实现由子类提供。抽象方法不能被声明成final
(父类为抽象类,子类如果不是抽象类,则需要实现父类的所有抽象方法;如果一个类中有抽象的方法,则该类必须声明为抽象类,但是一个抽象类可以有非抽象方法)
Synchronized修饰符:Synchronized关键字声明的方法同一时间只能被一个线程访问。它可以和default、private、public、protected一同使用
Transient修饰符:序列化的对象包含被transient修饰的实例变量时,java虚拟机(JVM)跳过该特定的变量。该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型。