zoukankan      html  css  js  c++  java
  • C#的静态方法与静态成员(转)

    using System;
    class Test
    {
    int x;
    static y;
    void F(){
        x=1;  //正确, 等价于this.x=1
        y=1;  //正确, 等价于Test.y=1
    }

    static void G(){
        x=1;  //错误, 不能访问this.x
        y=1;  //正确, 等价于Test.y=1
    }

    static void Main(){
        Test t=new Test();
        t.x=1;  //正确
        t.y=1;  //错误, 不能在类的实例中访问类的静态成员
        Test.x=1;  //错误, 不能按类访问非静态成员
        Test.y=1;  //正确
    }
    }

    类的非静态成员属于类的实例所有, 每创建一个类的实例, 都在内存中为非静态成员开辟了一个区域; 而类的静态成员为类所有, 为这个类的所有实例所共享. 无论这个类创建了多少个副本, 一个静态成员在内存中只占一个区域.

    类的静态方法是属于类的,是在定义类的时候就初始化好的方法了,调用的时候要通过类名.静态方法来调用。动态方法是在对象初始化的时候初始化的,只有通过实例话成功的对象才能调用,调用方法可以是 对象名.动态方法。

  • 相关阅读:
    [SCOI2005]栅栏
    状压dp常用操作
    [SCOI2005]互不侵犯
    欧拉函数
    hdu5179 beautiful number
    hdu4460 Friend Chains
    exgcd详解
    hdu6468 zyb的面试
    hdu1978 How many ways
    hdu1312 Red and Black
  • 原文地址:https://www.cnblogs.com/liuzhengliang/p/1301883.html
Copyright © 2011-2022 走看看