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;  //正确
    }
    }

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

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

  • 相关阅读:
    call,apply和bind的用法及区别
    JavaScript数组去重的方法
    JavaScript原型与原型链
    判断数组的方法
    两栏布局和三栏布局的实现
    小作品
    CSS垂直居中的方法
    闭包实现add(1)(2), add(1,2)的功能
    1.JavaScript的组成
    常用指令
  • 原文地址:https://www.cnblogs.com/liuzhengliang/p/1301883.html
Copyright © 2011-2022 走看看