怎么会有值
下面这个程序中m,n不是没有被付值吗,怎么会有值?
using System;
namespace ConsoleApplication1{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
///
///
///<summary>
/// 应用程序的主入口点。
/// </summary>
//[STAThread]
class a
{
protected internal int m;
public static int n;
public void display()
{
m++;
n++;
Console.WriteLine(m);
Console.WriteLine(n);
}
}
class Class1
{
static void Main(string[] args)
{
a a1=new a();
a1.display();
a a2=new a();
a2.display();
a a3= new a();
a3.display();
string s=Console.ReadLine();
Console.WriteLine(s);
Console.ReadLine();
//
// TODO: 在此处添加代码以启动应用程序
//
}
}
}
问题点数:20、回复次数:10Top
1 楼20011521()回复于 2006-03-14 18:34:02 得分 0
a2.display();
a3.display();
静态变量Top
2 楼aa12983()回复于 2006-03-14 19:01:13 得分 0
静态变量和有没有值是什么关系,能不能说明白点,本人是新手啊,谢谢
Top
3 楼yutian130(骑着布什好歹的萨达姆猪,漫步在小巷的尽头)回复于 2006-03-14 19:03:46 得分 0
public void display()
{
m++;//是不是已经递加了。。
n++;
Console.WriteLine(m);
Console.WriteLine(n);
}
Top
4 楼hdt(倦怠)回复于 2006-03-14 19:04:55 得分 0
值对象会被.net框架初始化
Top
5 楼aa12983()回复于 2006-03-14 19:36:38 得分 0
m,n初始化后值都是1吗,那如果是 double 类型的呢Top
6 楼serversql(啊初)回复于 2006-03-14 19:47:37 得分 10
m,n的初始值都是0
public void display()
{
m++;
n++;
Console.WriteLine(m);
Console.WriteLine(n);
}
你首先调用m++;所以,你的输出应该是从1开始!!!
Top
7 楼serversql(啊初)回复于 2006-03-14 19:48:54 得分 5
所有的NUM类型都一样啊,他是没有NULL值的!Top
8 楼aa12983()回复于 2006-03-14 20:09:12 得分 0
using System;
namespace ConsoleApplication1{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
///
///
///<summary>
/// 应用程序的主入口点。
/// </summary>
//[STAThread]
internal class a
{
protected internal double m;
public static int n;
internal void display()
{
m++;
n++;
Console.WriteLine(m);
Console.WriteLine(n);
}
}
internal class b: a
{
public void display1()
{
display();
Console.WriteLine("nihaoa ");
}
}
class Class1
{
static void Main(string[] args)
{
b a1=new b();
a1.display();
Console.WriteLine(a1.m);////////为什么可以直接访问m
a a2=new a();
a2.display();
string s=Console.ReadLine();
Console.WriteLine(s);
Console.ReadLine();
//
// TODO: 在此处添加代码以启动应用程序
//
}
}
}
我在class a中已经把m设定为internal 了,那为什么在main中还可以直接访问,internal不是显示指定该类只有项目内部才嫩访问吗?Top
9 楼huiren1(灰人)回复于 2006-03-14 20:49:54 得分 5
1.static int 默认初始化为0;
2.internal可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”。class a和class1是在一个组合体中.Top
10 楼serversql(啊初)回复于 2006-03-14 21:02:20 得分 0
楼主可能还不明白
internal
private
protect
public 所表示的意思
想知道更多,买本书吧!或者给多点分!
哈,我还要做星呢!Top




