语法只是表象,原理才是关键!!!
灵魂static关键字
Java规定:方法只能由对象来调用。
换句话来说,在面向对象的思维下,方法与对象存在一种强耦合。
方法在没有对象的情况下无法调用,于是上帝派来了static
static作用:即使没有初始化对象,也可以调用方法。(类比到属性上同样如此)
被static修饰的数据称为类数据,修饰的方法称为类方法。并且Java推荐使用类名.方法名(或属性名)的方式调用。
为什么static的权限低?
非static方法可以调用static方法,但static方法不能调用非static方法。
这个规则背了好久都没背住,原因其实很简单,正常的方法只能用对象来调用,所以static不能调用非static方法。
而非static可以调用static方法是因为,static关键字的设计就是为了解决方法只能由对象来调用这一问题的,所以,非static方法也可以在没有实例化对象的情况下调用static方法或关键字。