今天下午面试,HR问道:C#中静态类或静态方法和非静态类静态方法有什么区别?
我回答是静态的可以直接调用而非静态的需要实例化。HR说这谁都知道,我问的是本质区别。我当时就郁闷了,我只有8个月的编程经验,几乎没用到静态类或方法,只知道大概怎么用,于是只能回答说不知道,后面有问道了几个问题,回答不理想,被PASS掉了。。回家后上网查了下,一个需要实例化,一个直接调用这是公认的没有问题,我把剩下的粘贴
出来供需要的人参考静态属于类定义, 动态属于对象定义
肯定是先定义类,才能定义对象, 所以静态要先于动态, 而且静态只能有一份, 动态则没有限制.==============================================
静态运行时被加载一次。 非静态每次运行都被加载 静态生命周期与类相同
===============================================
静态变量和方法属于类,在调用类的时候就创建; 在内存中只有一份,不会随着对象的增加而增加; 动态变量和方法属于对象,会随着对象的增加而增加