C#之静态成员和静态方法

刚刚开始接触C#,总结的是自己整理的关于类,静态成员和静态方法的知识;作为自己学习的笔记。

 1.    定义

      定义一个模板,通过模板生成对象

       模板中包含对象的状态和行为

  2.    语法

      [访问修饰符] class <类名>

   {

      //类的主体

    }

  3.    修饰符

       

   具体的解释:访问控制权限

  

类名及所属工程

A

中变量

的访问修

饰符

Project X

 Class A

 

Project X 

Class B

derived from A

Project Y 

Class C

derived from A

Project X 

Class D

 

Project Y

Class E

 

Private

Private int i

不可以访问

不可以

不可以

不可以

Internal

Internal int j

可以访问

不可以

可以

不可以

Public

Public int k

可以访问

可以

可以

可以

Protected

Protected int l

可以访问

可以

不可以

不可以

Protected internal

Protected internal int m

可以访问

可以

可以

不可以

 1.    实例化

     1.    实例化就是通过类这个模板来创建一个对象的过程

           使用new关键字来创建

           两种方法创建:

          创建BankCustomer类的一个对象c

               

       2.    创建成功之后就可以访问模板中定义的属性和方法

         使用分号来访问变量,方法

            

         其中FirstName LastName Balance Deposit为BankCustomer类的属性和方法


               

                  x可以直接访问

                  y必须实例化一个对象才可以访问y

 3.    静态成员

          静态成员与非静态成员比较:

 

静态变量

非静态变量

形式

使用static修饰符

没有使用static

从属

类所有

类的实例所有

存储方式

在内存中只占同一块区域无论创建多少实例

每创建一个实例,都会在内存中为非静态成员新分配一块内存

使用权限

为各个类的实例公用

类实例化前即可使用

类实例化后才可使用

访问方式

通过直接访问

所属类的所有实例的同一静态变量都是同一值

通过对象访问

同一类的不同实例的同一非静态变量可以是不同的值

创建时间

类装载时被创建

类被实例化时被创建

4.    静态方法

   静态方法与非静态方法比较:

 

静态方法

非静态方法

形式

使用static修饰符

没有使用static

从属

类所有

类的实例所有

存储方式

在内存中只占同一块区域无论创建多少实例

每创建一个实例,都会在内存中为非静态方法新分配一块内存

使用权限

为各个类的实例公用

类实例化前即可使用

类实例化后才可使用

访问限制

只能访问类中静态成员

可以访问类中任何成员

访问方式

通过直接访问

不能使用this等关键字

通过对象访问

创建时间

类装载时被创建

类被实例化时被创建

静态方法调用时无法判断非静态变量使用的内存地址,所以无法使用;而静态变量的地址对类来说是固定的,故可以使用。

静态方法效率比实例化高,静态方法的缺点是不能自动进行销毁,而实例化的则可以做销毁



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值