1.访问修饰符
类内部 本包 子类 外部包
public Yes Yes Yes Yes
protected Yes Yes Yes No
default Yes Yes No No
private Yes No No No
2.static关键字
static可以理解为共享,使用static修饰的属性和方法:
1.静态属性和方法不依赖于对象,它们为所有类共享,可以使用类+点直接访问;
2.之所以可以为所有类共享,是因为静态修饰的属性和方法先于对象而存在(类加载器会先加载静态属性和方法),存放在静态域当中;
3.因为静态方法和静态属性先于对象而产生,所以静态方法不可以访问非静态的属性和方法(因为对象尚未产生,非静态的属性和方法也未产生);
4.一个对象修改了静态属性数值,其他对象共享修改后的结果;
5.类中的非静态属性也叫做实例属性,实例(instance)就是对象;
6.类中的非静态方法也叫做实例方法,只能访问静态属性和静态方法;
7.静态方法和静态属性,通常用于做一些工具类和相应工具方法;