zoukankan      html  css  js  c++  java
  • 静态成员和非静态成员的区别?

    静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问一个类的所有实例的同一静态变量都是同一个值,同一个类的不同实例的同一非静态变量可以是不同的值。静态函数的实现里不能使用非静态成员,如非静态变量、非静态函数等。

    示例:


    using System;
    using System.Collections.Generic;
    using System.Text;
    namespace Example01
    {
    class Program
    {
    class Class1
    {
    public static String staticStr = "Class";
    public String notstaticStr = "Obj";
    }
    static void Main(string[] args)
    {
    //静态变量通过类进行访问,该类所有实例的同一静态变量都是同一个值
    Console.WriteLine("Class1's staticStr: {0}", Class1.staticStr);
    Class1 tmpObj1
    = new Class1();
    tmpObj1.notstaticStr
    = "tmpObj1";
    Class1 tmpObj2
    = new Class1();
    tmpObj2.notstaticStr
    = "tmpObj2";
    //非静态变量通过对象进行访问,不同对象的同一非静态变量可以有不同的值
    Console.WriteLine("tmpObj1's notstaticStr: {0}", tmpObj1.notstaticStr);
    Console.WriteLine(
    "tmpObj2's notstaticStr: {0}", tmpObj2.notstaticStr);
    Console.ReadLine();
    }
    }
    }

    结果:
    Class1's staticStr: Class
    tmpObj1's notstaticStr: tmpObj1
    tmpObj2's notstaticStr: tmpObj2

  • 相关阅读:
    关于扩展欧几里得算法___基础,基础中的基础
    bzoj 2152聪聪可可
    poj1741 树上的点分治
    POJ1201 区间
    codevs 2756树上的路径
    zoj1260 king
    栈与队列应用:迷宫问题(DFS非最短路径)
    估值为一亿的AI核心代码
    栈与队列应用:计算前缀表达式的值
    栈与队列:循环队列算法+可执行代码
  • 原文地址:https://www.cnblogs.com/qfb620/p/1771548.html
Copyright © 2011-2022 走看看