-
Java中常用修饰符浅谈
一、public、protected、default和private修饰符的作用域
public:在java程序中,如果将属性和方法定义为 public 类型,那么此属性和方法所在的类和及其子类,同一个包中的类,不同包中的类都可以访问这些属性和方法。
protected:在java程序中,如果对属性和方法使用了 protected 修饰符修饰,那么该属性和方法只能在自己的类和子类中被访问。
(空的):默认的,如果没有指定访问控制修饰符,则表示使用默认修饰符,这时变量和方法只能在自己的类及该类同一个包下的类中访问。
private:在java程序中,如果将属性和方法定义为 private 类型,那么此属性和方法只能在自己的类中被访问。在其他类中不能被访问。
作用域图示
二、其他修饰符
static:被 static 修饰的变量为静态变量,被static修饰的方法为静态方法。属于类,可以通过类名调用。不被static修饰的变量或方法属于对象,要有对象才能调用。
final:被 final 修饰的变量在程序整个执行过程中最多被赋值一次,所以经常它被定义为常量。
transient:它只能修饰非静态的变量。
volatile:和 transient 一样,它只能修饰变量。
abstract:被 abstract 修饰的方法称为抽象方法。
synchronized:该修饰符只能应用于方法,不能修饰类和变量。
三、四种访问修饰符作用域小结
public:对所有类可见。
protected:对本包中的类和所有子类可见。
default:对本包中的类可见。default 一般不写
private:仅对本类可见。
来源:https://www.cnblogs.com/Silence-sjp/p/14074529.html