首页 > 其他 > 详细

第二章、类的静态成员

时间:2020-06-12 00:18:52      阅读:46      评论:0      收藏:0      [点我收藏+]
1、专业单词
单词释义
static 静态的
instance 实例
field 字段
method 方法
 
2、类的成员

类有数据成员或方法成员,还可划分为实例成员和静态成员

  • 字段(field)成员:是描述状态的数据成员

  • 方法(method)成员:是描述操作的行为成员

  • 静态(static)成员:用static关键字修饰的字段或函数成员

  • 实例(instance)成员:没有用static关键字修饰的字段或函数成员

 
3、静态字段
  • 静态字段是被static关键字修饰的字段,静态字段属于类所有,被这个类的所有对象共享,通过”类名.静态字段名”来访问。

    类中定义静态字段语法:

class 类名
{
    [访问修饰符] static 数据类型 字段名;        
}
?
class Student
{
    //定义静态字段
    public static string school ="计算机大学";
    
    //访问静态字段
    Console.WriteLine("Hello,大家好!\n我是{0}学生",Student.School)<---其他类中
}

 

4、静态方法
  • 静态方法是被static关键字修饰的方法,同样静态方法也属于类所有,被这个类的所有对象共享,通过”类名.静态方法名(实参列表)”来访问。

    类中定义静态方法语法:

    class 类名
    {
        [访问修饰符] static 返回值类型 方法名(形参列表);        
    }
    ?
    class Student
    {    
        public static string school ="计算机大学";
        //定义静态方法
        public static void ShowSchool()
        {
            Console.WriteLine("{0}欢迎您",school);
        }
        Student.ShowSchool();<---其他类中
    }

     

5、静态成员特征
  • 静态成员必须通过static关键字定义,通过类名访问。

  • 在内存中,一个静态字段只标识一个储存位置,无论创建了一个类的多少个实例,它的静态字段在内存中只占同一块区域。

  • 静态方法不能作用于对象,即静态方法中不能直接使用实例成员,必须创建类的对象,通过对象名引用访问,但是可以直接访问本类的静态成员。

 
6、实例成员特征
  • 实例成员不能添加static关键字定义,通过对象名访问。

  • 类的实例成员属于类的对象所有,每创建一个类的对象,都在内存中为实例字段开辟了一块区域。类的每个对象,分别包含一组该类所有实例字段的副本。

  • 类的实例方法直接作用于类的对象,在实例方法中可以直接访问本类的静态成员和实例成员。

  • 调用完后会自动释放,节省内存空间。

 
7、编程时,如何选择使用实例成员还是静态成员
  • 对于字段来说,比如你有一个兄弟,你们公用一台电脑,那么这台电脑就是静态成员;你有一本C#的书,你的兄弟也有一本C#的书,这些书是你们各自拥有的,和别人互不相关,这些书就是实例成员。

  • 对于方法来说,使用静态方法是有好处的,因为静态方法只维护一份拷贝,所以无论你有多少个实例,内存中都只会有一份拷贝。如果一个类是一个辅助类,如字符串类、数据库操作类,有很多方法来实现字符串的各种操作的,并且使用频繁,那么这个时候定义的方法最好是静态的,这样不需要每次使用这些方法的时候都实例化对象,而只需要静态调用就好。针对具体对象应用的,使用的少的方法用实例的。因为静态的速度快,但占内存,就像是缓存一样,经常用的数据我们应该将他们缓存起来。实例方法的调用速度相对慢些,但调用完后,会立即释放类,节省内存。

第二章、类的静态成员

原文:https://www.cnblogs.com/yang-yi/p/13096451.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!