为什么属性要用静态修饰(为什么要定义静态属性和静态方法)
1. 为什么要定义静态属性和静态方法
c#用 static定义静态类和属性。
public static class test
{
public static string name;//static定义静态属性
public static int age;
}
//静态类直接引用,不用new 关键字生成实体类。定义的静态属性,直接就可与赋值使用
test.name = "张三";
test.age = 10;
2. 为什么要定义静态属性和静态方法呢
静态变量:独立存在的变量,只是位置放在某个类下,可以直接类名加点调用静态变量名使用。并且是项目或程序一启动运行到该类时就直接常驻内存。不需要初始化类再调用该变量。用关键字static声明。静态方法也是同样,可以直接调用。
实例变量:就是相当于该类的属性,需要先初始化该类,就是new 该类后,才可以调用。但是该类未被再次使用,被垃圾回收器回收后,该实例也将不存在了,就是不在内存中了。
区别如下:
1.存储区域不同:静态变量存储在静态存储区,普通变量存储在堆中;
2.静态变量与类相关,普通变量则与实例相关
3.内存分配方式不同。
4.生命周期不同。
3. 为什么要定义静态属性和静态方法的区别
成员变量: 是类中定义变量,也叫类的属性
局部变量: 是方法中定义的变量
静态变量: 是static修饰词修饰的变量(可以是成员变量,也可以是局部变量)
实例变量: 是类实例化后的属性(成员变量)
4. 静态方法为什么必须被实现
利用xml+xsl在服务端生成静态的html使用HTML模版页面,模版HTML代码中使用预定义的替换标签然后进行替换后fso创建使用xml+xslt实现静态数据文件客户端xslt转换方法在脚本内构造出HTML内容,使用FSO对象创建html页面
5. 为什呢要定义静态方法
当作普通类一样继承,
1.当子类没有重新定义静态属性,则子类的静态属性与父类的静态属性为同一个变量
2.当子类重新定义了父类静态属性,则子类的静态属性与父类的静态属性是两个不同的变量
3.静态方法调用的是定义这个静态方法的类的静态属性。