C#中静态和非静态的区别
2014-02-26 13:33
295 查看
今天下午面试,HR问道:C#中静态类或静态方法和非静态类静态方法有什么区别?
我回答是静态的可以直接调用而非静态的需要实例化。HR说这谁都知道,我问的是本质区别。
我当时就郁闷了,我只有8个月的编程经验,几乎没用到静态类或方法,只知道大概怎么用,
于是只能回答说不知道,后面有问道了几个问题,回答不理想,被PASS掉了。。
回家后上网查了下,一个需要实例化,一个直接调用这是公认的没有问题,我把剩下的粘贴
出来供需要的人参考
静态属于类定义, 动态属于对象定义
肯定是先定义类,才能定义对象, 所以静态要先于动态, 而且静态只能有一份, 动态则没有限制.
==============================================
静态运行时被加载一次。
非静态每次运行都被加载
静态生命周期与类相同
===============================================
静态变量和方法属于类,在调用类的时候就创建;
在内存中只有一份,不会随着对象的增加而增加;
动态变量和方法属于对象,会随着对象的增加而增加
我回答是静态的可以直接调用而非静态的需要实例化。HR说这谁都知道,我问的是本质区别。
我当时就郁闷了,我只有8个月的编程经验,几乎没用到静态类或方法,只知道大概怎么用,
于是只能回答说不知道,后面有问道了几个问题,回答不理想,被PASS掉了。。
回家后上网查了下,一个需要实例化,一个直接调用这是公认的没有问题,我把剩下的粘贴
出来供需要的人参考
静态属于类定义, 动态属于对象定义
肯定是先定义类,才能定义对象, 所以静态要先于动态, 而且静态只能有一份, 动态则没有限制.
==============================================
静态运行时被加载一次。
非静态每次运行都被加载
静态生命周期与类相同
===============================================
静态变量和方法属于类,在调用类的时候就创建;
在内存中只有一份,不会随着对象的增加而增加;
动态变量和方法属于对象,会随着对象的增加而增加
相关文章推荐
- 20151024_001_C#基础知识(静态与非静态的区别,值类型和引用类型,堆和栈的区别,字符串的不可变性,命名空间)
- C#静态和非静态的区别及举例介绍
- c#中静态与非静态的区别
- C#基础之静态和非静态的区别
- C#中静态与非静态——类、方法等区别
- 【转】C#中静态和非静态的区别
- 静态与非静态的区别
- 静态成员函数和非静态成员函数的区别?
- 静态和非静态的区别
- C# 静态类与非静态类、静态成员的区别
- [C#基础知识系列]全面解析C#中静态与非静态
- [C#基础知识系列]全面解析C#中静态与非静态
- 静态成员和非静态成员的区别
- JNI开发之javah生成静态和非静态的两个头文件区别
- C#中静态常量(const)和动态常量(static readonly)的一些区别
- C#中的静态常量(const)和动态常量(static和readonly)用法和区别
- .NET中的静态与非静态的区别分析
- C++静态成员和非静态成员的区别
- 静态和非静态(C#)
- 静态与非静态区别