.NET中的静态与非静态总结
静态类 vs 普通类
静态类与普通类的区别有以下几点:
1)静态类无法实例化而普通类可以;
2)静态类只能从System.Object基类继承;普通可以继承其它任何非static和非sealed类,但也只能继承一个类;
3)静态类不能继承接口;普通类可以继承多个接口;
4)静态类只能包含静态成员;普通类可以包含静态和非静态成员;
5)静态类不能作为字段,方法参数和局部变量使用;普通类可以;
静态类的意义:
可以用静态类封装一组不与任何对象相关联的方法,如Math类,Console类。
静态构造函数 vs 实例构造函数
静态构造函数与实例构造函数的区别有以下几点:
1)静态构造函数属于类,在第yi次用到该类时执行且只执行一次;实例构造函数属于对象,在每次初始化一个新对象的时候都会执行;
2)静态构造函数只能定义一次,且不能包含参数;实例构造函数可以定义重载,且可以包含参数;
3)静态构造函数只能访问类型的静态字段;实例构造函数可以访问类型的静态和非静态字段;
4)静态构造函数不能包含访问修饰符,默认为private.
静态构造函数的意义:
设置类型的初始化,例如初始化类型需要的实例对象,为类型的静态字段赋值等。
静态方法 vs 实例方法
静态方法与实例方法的区别有以下几点:
1)静态方法属于类,通过类来调用;实例方法属于对象,通过对象来调用;
2)静态方法不能访问类的非静态成员;
静态方法的意义:
完成一个与特定对象无关的功能。
静态字段 vs 非静态字段
静态字段与非静态字段的区别:
静态字段属于类,通过类来调用;非静态字段属于对象,通过对象来调用。
静态字段的意义:
可以用静态字段来记录一些属于类本身的信息。
代码演示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
public class Test { public int i = 10 ; public static int j = 20 ; 辽宁优越教育科技有限公司介绍辽宁优越教育科技有限公司是北大青鸟总部在沈阳设立的一家定点校区。涵盖ACCP、Java、.Net、网络营销、市场营销,游戏开发等多专业校区,承担教学、以及教师培养输送等职责。北大青鸟作为北京大学下属的专业计算机学校,以北京大学强大师资作为依托,连续13年被评为“中国IT教育品牌”,累计培养60+万优秀软件工程师,是名符其实的软件工程师的摇篮……请认准品牌名校——辽宁优越教育科技有限公司,地址:辽宁省沈阳市和平区三好街54号。 地址:沈阳市和平区三好街辽宁物产科贸大厦四层 [查看地图] 电话:024-23988555 Copyright 2011-2023 辽宁优越教育科技有限公司 辽ICP备13013764号 网站: www.lnbdqn.com |