黑马程序员技术交流社区
标题:
类的字段前为什么要加static
[打印本页]
作者:
肖云
时间:
2012-6-7 12:15
标题:
类的字段前为什么要加static
一个变量定义在方法外,类的里面,前面为什么一定要加static,才能让本内中所有方法都访问到. 如:static int a=3;
作者:
班顶超
时间:
2012-6-7 12:37
static代表全局变量啊
作者:
班顶超
时间:
2012-6-7 12:56
再补一点,如果方法和变量都处于同一个类中,不用static是可以访问的。
作者:
钟山山
时间:
2012-6-7 13:10
static修饰符修饰的属性、方法是属于类的,非static属性、方法属于对象,也就是说属于类的方法、属性不需要实例化(即不产生对象)就可以访问,而非static属性的方法、属性必须在实例化(即产生对象)后才能使用。
作者:
朱亮辉
时间:
2012-6-7 13:26
本帖最后由 朱亮辉 于 2012-6-7 13:37 编辑
static int a=3; 你不加static 也是可以的啊,只要你定义的变量是全局变量!
另外给出static详细解释
1、使用static修饰的方法,可以直接用类访问
2、没有使用static修饰的方法,只能通过对象访问(类的实例)
3、static修饰的方法不能被重写,不用static修饰的方法就可以被重写。
class Program
{
static void Main(string[] args)
{
//Test1方法只能先实例化一个对象,通过对象t来访问(不用static修饰的方法)
Test t = new Test();
t.Test1();
//使用static修饰的方法可以直接通过类访问方法
Test.Test2();
}
}
public class Test
{
//不带static的方法
public void Test1()
{
}
//带有static的方法
public static void Test2()
{
}
}
作者:
刘豪
时间:
2012-6-7 15:02
static是静态的,是类级别的成员,而不是对象级别的成员,你创建的对象是不能使用它的,只能由类来调用它。
作者:
王国文
时间:
2012-6-7 15:50
静态变量或者可以使说是全局变量,还有静态方法,静态类
当用到静态类的时候,不用实例化,直接由(类名.方法名或者属性)
作者:
孙玉昌
时间:
2012-6-12 09:22
static 修饰的属性或者方法,属于静态的类成员,不是实例成员,不用生成某一个具体的实例就可以通过类名来调用它。
作者:
黑马-许泽宇
时间:
2012-6-12 12:17
好像有一部分因素是,静态方法不能直接使用非静态变量,所以如果不定为static的全局变量有的静态方法就需要实例化这个类的对象才能使用此对象。
作者:
李玲
时间:
2012-6-13 09:55
C#中的static
使用
static
修饰符声明属于类型本身而不是属于特定对象的静态成员。
static
修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。例如,下面的类声明为
static
,并且只包含
static
方法。
例如:
static class CompanyEmployee
{
public static string GetCompanyName(string name) { ... }
public static string GetCompanyAddress(string address) { ... }
}
一般来说,类中标注了static的函数与变量能在类外直接引用,比如说:
String M_string1 =CompanyEmployee.GetCompanyName(M_string2)
而没有标注static的函数则必须声明一个类的实体,,有实体来引用。比如说:
static class CompanyEmployee
{
public string GetCompanyName(string name) { ... } //没有Static
public static string GetCompanyAddress(string address) { ... }
}
CompanyEmployee M_CompE = new CompanyEmployee()
String M_string1 =M_CompE.GetCompanyName(M_string2)
作者:
ren1015
时间:
2012-6-13 14:55
static不是全局变量,是静态变量,不用加也可以,在类中使用static 修饰的属性 不需实例化可以直接使用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2