黑马程序员技术交流社区
标题:
static
[打印本页]
作者:
liucaifu
时间:
2011-11-4 11:50
标题:
static
在C#中引入static的目的是什么,在开发过程中我很少看到用static,那么什么情况下用static?
作者:
周大俊
时间:
2011-11-4 12:39
静态:修饰变量的时候表示变量是不可改变的,程序运行结束才收回内存空间;修饰类的时候表示可以不用实例化而直接使用的类。
作者:
郑文
时间:
2011-11-4 13:34
一般staic修饰类的时候 放一些共有的方法,充当工具的作用。还有一些共有的属性等,如在config文件中取得的链接字符串,可以用static修饰,以便其他连接能使用
作者:
李荣壮
时间:
2011-11-4 14:12
用的不多吗,我怎么感觉用的挺多的
static修饰符可以把变量、方法之类的设置为静态
所谓静态就是不用NEW一个实例出来,就可以直接使用了
//实例类的使用
public class Person
{
public void SayHello()
{
// some code
}
}
Person person1=new Person();
person1.SayHello();
//静态类的使用
public static class Person
{
public static void SayHello()
{
// some code
}
}
Person.SayHello();
复制代码
最觉的静态方法就是 ,Main(),哈哈,每天见无数次,这个必须静态了,要不然怎么用啊
作者:
小石
时间:
2011-11-4 14:20
连接数据库的时候 写一些公有的方法 挺好用的
作者:
朱勋
时间:
2011-11-4 14:55
C#中有静态类,可以直接调用其中的方法,实现共享机制
作者:
黄朝辉
时间:
2011-11-4 16:26
本帖最后由 黄朝辉 于 2011-11-4 16:30 编辑
静态类:里面都是静态属性和方法等都是静态
普通类:静态构造函数优先于普通构造函数、但只用到一次,也就是第一次用到对象的时候,不管你调用的是什么。
注意:静态构造函数必须是无参而且是无修饰符,可以和一般的构造函数共存
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Text.RegularExpressions;
using System.Collections;
using System.Reflection;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
PuTongLei.P2();
PuTongLei p1 = new PuTongLei();
}
}
public static class JingTaiLei
{
public static void J1()
{
Console.WriteLine("我是静态类里面的静态方法");
}
public static int J2
{
get;set;
}
static JingTaiLei()
{
Console.WriteLine("我是静态类的构造函数");
}
}
public class PuTongLei
{
public PuTongLei()
{
Console.WriteLine("我是普通构造函数");
}
static PuTongLei()
{
Console.WriteLine("我是静态构造函数");
}
public void P1()
{
Console.WriteLine("我是普通类里面的方法");
}
public static void P2()
{
Console.WriteLine("我是普通类里面的静态方法");
}
}
}
复制代码
作者:
夏雪锐
时间:
2011-11-4 19:40
你知道C#的程序入口点是怎样的吗?-----就是static Main方法!由此可以得出static变量,方法不用new出来就可以用!君不见Math类里有Cos,Sin等像工具一样的方法吗?直接类.方法名,直接类.属性就可以用了。
另个多说一点静态类
无论对象发生什么更改,这些数据和函数都不会随之变化。当类中没有依赖对象标识的数据或行为时,就可以使用静态类。
1仅包含静态成员。
2不能被实例化。
3密封的,也就是说不能被继承
4不能包含实例构造函数
写个小例子:
class StaticTest
{
public static int i = 0;//静态的i
}
class StaticClassTest
{
public void AddI()
{
StaticTest.i++;
}
static void Main(string[] args)
{
new StaticClassTest().AddI();
new StaticClassTest().AddI();
new StaticClassTest().AddI();
Console.WriteLine(StaticTest.i);//这时i就变成3了
}
}
作者:
宋天琪
时间:
2011-11-5 09:32
第一当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。
static的第二个作用是保持变量内容的持久。
static的第三个作用是默认初始化为0。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2