public 修饰的,在任何地方都可以访问;
protected 修饰的,在类内部、同一个包、子类中能访问;
default修饰的,在类内部、同一个包中能访问;
private修饰的,仅限当前类内部访问。
static 修饰的资源属于类级别,是全体实例对象共享的资源
使用 static 修饰的属性,属于类的全体实例共享的变量
使用 static 声明的方法,属于类的方法,一般用来表示工具方法。
在类加载以后就可以自己调用, 不需要创建任何类的实例对象。
静态代码块是在类加载期间运行的代码块,由于类只加载一次,所以静态代码块只执行一次!
静态代码块用途不是很常见,一般用来在类加载以后初始化一些静态资源时候使用。
如:加载配置文件。
静态内部类相当于静态变量,类加载以后就存在,可以在静态内部类中访问静态成员(属性和方法)。
final修饰的类不能再被继承;
final修饰的方法不能再被覆盖;
final修饰的变量,初始化以后不允许修改;
final static 修饰的变量是常量,final 修饰属性表示“不能改”,static 修饰属性表示属于类的,仅此一份。
interface A{
int x = 0;
}
属性x 默认public static final
class B{
int x = 0;
}
类B默认的访问修饰符 friendly,属性x的默认访问修饰符也是friendly,friendly也可以写成package或者default,表示同一个包和类内部下可以访问