static 修饰的方法和属性,既可以通过类来调用,也可以通过实例来调用;
没有使用static的普通方法和属性,只能通过实例来调用。
这样设计的目的是什么? 相当于全局变量,只初始化一次,所有对象共享
在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间
static修饰的成员表明 它是属于这个类共有的,而不是属于该类的单个实例。静态方法中也不能出现this关键字,因为this是针对对象而言的。
为什么没有使用static修饰的普通方法和属性不能用类来调用?
非静态变量的值在每个对象中都有独立的存储空间,非静态变量隶属于对象,也就是说在每个对象中可能是不同的。