美文网首页
12-类的静态成员

12-类的静态成员

作者: D丝学编程 | 来源:发表于2021-04-02 08:59 被阅读0次

声明静态成员使用static修饰符。

所谓静态就是指在编译后分配的内存会一直存在,直到程序退出时才会释放内存空间。

一个类中的静态成员可以是静态字段,也可以有静态方法,静态成员不需要创建对象后使用,可以直接使用类名来引用,例如:

有一个学生类,如下:

public class Student {
    //静态方法
    public static void printHello()
    {
        Console.WriteLine("全体学生欢迎您!");
    }
}

在main方法中调用printHello方法不需要实例化对象,而可以直接用类名来调用。

Student.printHello();   //此时可以打印"全体学生欢迎您!"

静态成员是类级别的,是所有对象共享的数据,如果在学生类中,有一个字段来记录学生人数,此时不使用静态成员将无法记录学生人数,例如:

public class Student {
    public string no; //学号
    public string name; //姓名
    public int count;   //学生人数
}

在main方法中创建学生,并且每创建一个学生,给学生人数+1

Student stu1 = new Student();
stu1.no = "001";
stu1.name = "刘备";
stu1.count++;
Student stu2 = new Student();
stu2.no = "001";
stu2.name = "刘备";
stu2.count++;
Student stu3 = new Student();
stu3.no = "001";
stu3.name = "刘备";
stu3.count++;
Console.WriteLine("学生人数:" + stu3.count); //此时有三个学生,但是打印的学生人数仍然是1.

通过以上代码我们可以看出,学生人数并没有增加,实际上三个对象都单独拥有学生人数的字段,并且毫无关联。

此时我们可以使用静态成员解决此问题,代码如下,例如:

public class Student {
    public string no; //学号
    public string name; //姓名
    public static int count;   //学生人数
}

在main方法中创建学生,并且每创建一个学生,给学生人数+1

Student stu1 = new Student();
stu1.no = "001";
stu1.name = "刘备";
Student.count++;
Student stu2 = new Student();
stu2.no = "001";
stu2.name = "刘备";
Student.count++;
Student stu3 = new Student();
stu3.no = "001";
stu3.name = "刘备";
Student.count++;
Console.WriteLine("学生人数:" + Student.count);  //此时可以打印学生人数为3

相关文章

  • 12-类的静态成员

    声明静态成员使用static修饰符。 所谓静态就是指在编译后分配的内存会一直存在,直到程序退出时才会释放内存空间。...

  • 猿学-java有什么用java基础技术总结

    加载顺序 父类静态成员->父类静态代码块-> 子类静态成员->子类静态代码块-> 父类普通成员->父类代码块->父...

  • 7.6 类的静态成员

    7.6 类的静态成员 静态成员的特性 静态成员属于类,而不是对象。 类型可以是类对象、指针、引用、常量等。 静态成...

  • 2019-01-18

    二、.NET基础概念《静态类》 静态类:用static修饰的类。 注意:静态类的成员必须是静态成员,包括属性和方法...

  • java静态方法的线程安全问题

    类的成员分为两类,静态成员(static member)和实例成员(instance member)。静态成员属于...

  • 静态类型

    类的静态成员变量 在类的成员声明之前加上关键字static使其与类关联在一起。成为类的静态成员 类型 静态成员可以...

  • 类的静态成员*

    静态类成员包括静态数据成员和静态函数成员两部分。 静态数据成员: 类体中的数据成员的声明前加上static关键字,...

  • C++之静态成员

    静态成员数据 1、静态成员数据 是属于类 而不是对象 2、静态成员数据 是所有对象 共享的 3、静态成员数据 类中...

  • C++基础学习

    1. 类的静态成员和非静态成员区别是: 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过...

  • 创建对象时调用顺序

    创建对象时调用顺序如下: ①先初始化父类和子类的静态成员。 ②父类非静态成员。 ③父类构造方法。 ④子类非静态成员...

网友评论

      本文标题:12-类的静态成员

      本文链接:https://www.haomeiwen.com/subject/wjzlxltx.html