Java 修饰符
修饰符用来定义类、方法或者变量,通常放在语句的最前端。
Java 修饰符主要分两类:
访问修饰符 4种访问权限
default (即缺省,什么也不写):在同一包内,不使用修饰符 使用对象:类、接口、变量、方法。
private(私有的) : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
1.是最严格的访问级别,声明为private的方法 变量 只能被所属的 类访问
2.private的变量只能通过类中公共的getter方法被外部类访问
public class Logger { private String format; public String getFormat() { return this.format; }//返回format的值 public void setFormat(String format) { this.format = format; }//设置format的值}
Private 访问修饰符的使用主要用来隐藏 类的实现细节 和 保护类的数据。
public (公共的): 对所有类可见。使用对象:类、接口、变量、方法
1.被声明为 public 的类、方法、构造方法和接口能够被任何其他类访问
2.相互访问的public类分布在不同的包中,需要导入相应public类所在的包
Java 程序的 main() 方法必须设置成公有的,否则,Java 解释器将不能运行该类。
protected (受保护的): 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
1.被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问,也能够被不同包中的子类访问。
2.protected 访问修饰符不能修饰类和接口
3.方法和成员变量能够声明为 protected,但是接口的成员变量和成员方法不能声明为 protected。
非访问修饰符
static 修饰符,用来修饰类方法和类变量
1.静态变量:
static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。静态变量也被称为类变量。局部变量不能被声明为 static 变量。
2.静态方法:
static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
final 变量:
final 变量能被显式地初始化并且只能初始化一次。被声明为 final 的对象的引用不能指向不同的对象。但是 final 对象里的数据可以被改变。也就是说 final 对象的引用不能改变,但是里面的值可以改变。
final 方法
类中的 final 方法可以被子类继承,但是不能被子类修改。
声明 final 方法的主要目的是防止该方法的内容被修改。
final 类
final 类不能被继承,没有类能够继承 final 类的任何特性。
abstract 修饰符,用来创建抽象类和抽象方法。
abstract: 表示是抽象类。 使用对象:类、接口、方法
synchronized 和 volatile 修饰符,主要用于线程的编程。