结论:
因为所有非静态成员变量都保存到堆内存的对象空间中,而所有的非静态函数里面都有隐藏的this关键字,this关键字都要保存调用它的对象的引用地址,所以说,静态函数和静态成员变量不能直接通过类来调用,必须通过某个对象调用;
而静态成员变量直接保存在方法区的静态区域,和对象无关。静态函数里面也没有this ,所以静态函数和静态成员变量都可以直接通过类名调用;
结论:
因为所有非静态成员变量都保存到堆内存的对象空间中,而所有的非静态函数里面都有隐藏的this关键字,this关键字都要保存调用它的对象的引用地址,所以说,静态函数和静态成员变量不能直接通过类来调用,必须通过某个对象调用;
而静态成员变量直接保存在方法区的静态区域,和对象无关。静态函数里面也没有this ,所以静态函数和静态成员变量都可以直接通过类名调用;
转载于:https://juejin.im/post/5cba96ad518825328e00abbd