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

  • 相关阅读:
    敏捷开发
    开撕队-软件需求规格说明书
    开撕队前来问候
    Four-operations: 使用node.js实现四则运算程序
    wordcount
    编码的故事转载2018-02-28更新
    MySQL学习笔记2018-02-07更新
    Linux各文件及目录说明2018-03-01更新
    Linux安全运维笔记2018-03-01更新
    jQuery实现商品五星评价
  • 原文地址:https://www.cnblogs.com/qfb620/p/1771548.html
Copyright © 2011-2022 走看看