云的彼岸的回答:static意思是静态,可以修饰类、字段、属性、方法 标记为static的就不用创建实例对象调用了,可以通过类名直接点出来 比如C#控制台操作的Cancle类里面的成员就被标记为静态的,可以直接用Concle.直接点出来使用。 如果没有标记为静态就要通过创建实例对象来调用,比如说动态字符串StringBuilder就要new一个实例来调用 StringBuilder sb =new StringBuilder(); sb.xxx(); //xxx是方法名
上面有说把static理解为全局变量这个说法是错的,所有提升为成员变量的都可以理解为全局变量。 云的彼岸的回答:static意思是静态,可以修饰类、字段、属性、方法 标记为static的就不用创建实例对象调用了,可以通过类名直接点出来 比如C#控制台操作的Cancle类里面的成员就被标记为静态的,可以直接用Concle.直接点出来使用。 如果没有标记为静态就要通过创建实例对象来调用,比如说动态字符串StringBuilder就要new一个实例来调用 StringBuilder sb =new StringBuilder(); sb.xxx(); //xxx是方法名
上面有说把static理解为全局变量这个说法是错的,所有提升为成员变量的都可以理解为全局变量。 云的彼岸的回答:static意思是静态,可以修饰类、字段、属性、方法 标记为static的就不用创建实例对象调用了,可以通过类名直接点出来 比如C#控制台操作的Cancle类里面的成员就被标记为静态的,可以直接用Concle.直接点出来使用。 如果没有标记为静态就要通过创建实例对象来调用,比如说动态字符串StringBuilder就要new一个实例来调用 StringBuilder sb =new StringBuilder(); sb.xxx(); //xxx是方法名
上面有说把static理解为全局变量这个说法是错的,所有提升为成员变量的都可以理解为全局变量。 ?? Stimmt ??的回答:static三种用法: 1.用于变量前,表示每次重新使用该变量所在方法、类或自定义类时,变量的值为程序这次运行最后一次为变量赋值时的值,这个方法称为静态函数: private void s() { static int a=1; a++; } 方法第一次调用结束后a在内存内值为2; 方法第一次调用结束后a在内存内值为3;
2.在方法(函数)前用static修饰,表示此方法为所在类或所在自定义类所有,而不是这个类的实例所有,这个方法称为静态方法: 情况一:非静态方法: class t { t(....(参数,下面同)) { ~~~~(方法内容,下面同) } void s(....) { ~~~~ } } 当你在其他方法里调用这个类中的方法s,则需先声明这个类的变量如:t sd = new t(....); 再在t里调用方法:sd.s(....); 情况2:静态方法: class t { t(....(参数,下面同)) { ~~~~(方法内容,下面同) } static void s(....) { ~~~~ } } 当你在其他方法里调用这个类中的方法s,则不用先声明这个类的变量如直接调用方法:t.s(....);
3.用于class前,说明此类型无法新建实例,简单点说这个类型的方法全是静态方法,这个类里的非静态方法是不能使用的,这个类型称为静态类: static class t { ~~~~ } ~~~~ class d { ~~~~ void f(....) { ~~~~ t v = new t();//此时程序会出现错误 } } 唯伊执着的回答:同意“限量版” 。 |