c#学习5,静态字段,静态函数,静态类

using System;
using System.Collections.Generic;
using
System.Linq;
using System.Text;

namespace 静态成员
{
class Program
{
static void
Main(string[] args)
{
person.TotalCount=30;//全局变量即静态变量,不需要new一个对象
Console.WriteLine(person.TotalCount);

doit();
person.renren();//可以不用new一个对象
person p1 =
new person();
p1.age = 200;

p1.报告();
Console.ReadKey();
}
public static void
doit()
{
Console.WriteLine("fff");

Console.WriteLine("使用全局变量:" + person.TotalCount);
}
}
//静态类不能被new成一个对象的
public
class person//类名前加一个public
{
public static int
TotalCount;//字段,static
与具体事例无关
public int age;
public static void renren()

{
Console.WriteLine("zongshu:{0}" ,
TotalCount);//不能使用非static函数
// Console.WriteLine("zongshu:{0}" +
TotalCount+"总年龄:"+age);//static函数不能调用非static函数
}
public
void 报告()
{
Console.WriteLine("总年龄:" +
age+"总人数"+TotalCount);//在非static中可以调用static

}

}
}

//静态类的实例

using System;
using System.Collections.Generic;
using
System.Linq;
using System.Text;

namespace 静态类
{
class Program
{
static void
Main(string[] args)
{
// consolehelper h1 = new
consolehelper();//这是错误的,静态类不能用new来实例化,一般用来实现一些存的函数库

consolehelper.ReadInt();
Console.ReadKey();
}

}
static class consolehelper
{
public static int
ReadInt()
{
string str = Console.ReadLine();

return Convert.ToInt32(str);
}

}
}

时间: 2024-10-26 04:53:29

c#学习5,静态字段,静态函数,静态类的相关文章

(10)静态方法、静态字段、静态类、匿名类

6.静态方法 使用静态方法就可不必用类的实例化调用次函数 class Test { public static void method() { ........ } //当调用一个method()时就可以直接用类名调用 Test.method; } 6.静态字段 7.静态类 静态类里的变量和方法也必须是静态的,静态类的一切都不能被实例化 8.匿名类

静态字段、静态函数、成员常量

静态字段: □ 静态字段被类的所有实例共享,所有的实例都访问同一内存块.因此,如果该内存块的值被一个实例修改了,这种改变对所有实例是可见的. □ 访问静态变量通过类名.字段名访问 □ 即使类没有实例任何对象,也存在静态字段.如果静态字段有初始化语句,不必要在程序执行之前就赋初始值,可以在使用该字段前再赋值(这点与const常量不一样,const常量是声明就赋值) 例如: class Program { static void Main(string[] args) { MyClass mycla

深入理解 静态类和静态字段(C# 基础)

序言 以前,总是被提醒,在编程过程中尽量少用静态变量,数据丢失什么的,今天有空,禁不住对静态变量的强烈好奇,跟我一起了解下静态家族的内幕吧. 静态类 定义 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量.在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类:其次,它防止在类的内部声明任何实例字段或方法. 静态类是自C# 2.0才引入的,C# 1.0不支持静态类声明.程序员必须声明一个私有构造器.

Python学习:16.Python面对对象(三、反射,构造方法,静态字段,静态方法)

一.构造方法 在使用类创建对象的时候(就是类后面加括号)就自动执行__init__方法. class A: def __init__(self): print('A') class B: def __init__(self): print('B') obj = A() #虽然只是创建了obj对象,但是执行了__init__方法,输出了A Python中派生类可以继承父类的构造方法 1.基于super() 遇到super()就表示去执行父类的xxx属性 class A: def __init__(

使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。

设计思想 定义一个静态字段,在构造函数中写一个静态字段自家的语句,这样,因为静态字段不会因为在此调用而改变数值所以可以计算建立对象的个数. 源代码 //使用静态字段和构造函数跟踪对象 package bao; public class sum { public static int a=0; int c; public sum(int cc) { c=cc; a++; } public int get() { return a; } } package bao; public class D_X

linux学习 建立静态库,动态库,写简单的makefile

建立静态库 建立四个文件 bin(可执行文件),lib(库),include(头文件),src(放源文件) 这里的起的库明为add 在src文件中执行 1)gcc -c add.c //编译add.c源文件生成add.o目标文件 2)ar crsv ../lib/ libadd.a add.o //对目标文件*.o进行归档,生成lib*.a, 把这个生成文件放在lib里 3)gcc -o main main.c -L(大些的爱偶,放库的路径)../lib   –l(小写的爱偶,库名为add) a

C#变量初始化问题:字段初始值无法引用非静态字段、方法或属性

http://www.cnblogs.com/bluestorm/p/3432190.html 问题:字段初始值设定项无法引用非静态字段.方法或属性的问题 下面代码出错的原因,在类中定义的字段为什么不能用? public class Test {public Test(){}public int Age=23;public int temp = Age;//ERROR 字段初始值设定项无法引用非静态字段.方法或属性} C#规定在类内部只能定义属性或者变量,并初始化,不能直接变量引用变量. 在初始

Centos 7 学习之静态IP设置

原文链接:http://blog.csdn.net/johnnycode/article/details/40624403 本学习主要针对 Centos 7.0.1406 版本进行学习整理! 如果你使用 VirtualBox 配置 Centos 那么请参考我的这篇文章 Centos 7 学习之静态IP设置(续) 1.编辑 ifcfg-eth0 文件,vim 最小化安装时没有被安装,需要自行安装不描述. [plain] view plain copy # vim /etc/sysconfig/ne

使用类的静态字段和构造函数,请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。

1.程序设计思想 定义一个静态字段,在构造函数中写一个这个静态字段自加的语句,这样,因为静态字段不会因为再次调用而改变数值所以可以计算建立对象的个数. 2.程序源代码 //使用类的静态字段和构造函数跟踪对象 class sum{  public static int a=0;   int c;   public sum(int cc)  {   c=cc;   a++;  }  public int get()  {   return a;  } } public class WyText_LL

用静态字段和构造函数,查询创建了多少个对象

代码: //用静态字段和构造函数,查询创建了多少个对象 package chaxun; public class chaxun { private static int n; public chaxun() { n++;//每创建一个对象就给n加1 } public static int getNum() { return n;//返回n值 } public static void main(String[] args) { chaxun a = new chaxun(); chaxun b =