| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 466 人关注过本帖
标题:初学者 求教。。。。
只看楼主 加入收藏
我是好学生
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-3-15
收藏
 问题点数:0 回复次数:1 
初学者 求教。。。。

using System;
namespace aaa
{
class n1
{
public static readonly uint max;
public static uint instance=0;

static n1()//静态构造方法
{
max=20;
}

public n1()//非静态的构造方法
{
instance++;

if(instance>max)
{
Console.WriteLine("too many instance");
}
}

public static void Main()
{
for(int i=0; i<21;i++)
{
n1 aa=new n1();
}
}
}
}

我这个程序在开始的时候 定义instance 这个属性为static 的 为什么非静态的构造方法可以访问它呢??我是刚学c#的 以前只学过c 希望那位高人 帮忙说得详细些。。。。好让我看得明白

搜索更多相关主题的帖子: public 
2007-03-16 17:35
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
得分:0 
static应只是相关于一个公共的变量,即它不随类的实例化而被初始化掉,
至于你问"为什么非静态构造方法可以访问它",这应是一个变量作用域的问题!

该变量对于构造方法而言,是全局变量,当然可以直接访问.

而其他类中要该问该变量,则需加上类名作为前缀.

[此贴子已经被作者于2007-3-19 1:09:04编辑过]


帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
2007-03-19 01:05
快速回复:初学者 求教。。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016013 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved