C# 静态类 与 静态成员(转帖)
2008-08-01 11:58
309 查看
原文地址:http://blog.csdn.net/linoble/archive/2006/11/01/1360865.aspx
类的成员要么是静态的,要么是动态的,假如将类的某个成员声明为static,则该成员是静态成员。
类的静态成员是属于类任何,不必产生类的实例就能够访问他,就是只用类名就能够访问
静态成员为类的任何实例所共享,无论这个类创建了多少个实例,一个静态成员在内存中只占有一块区域.
类的非静态成员属于类的实例任何,每创建一个类的实例,都在内存中为非静态成员开辟了一块区域
静态方法只能访问类例的静态字段,而非静态方法能够访问类例的任何字段
静态类和类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立于任何对象标识的数据和行为:无论对象发生什么更改,这些数据和函数都不会随之变化。当类中没有依赖对象标识的数据或行为时,就可以使用静态类。
class CompanyInfo
static class CompanyInfo
使用静态类
作为不与特定对象关联的方法的组织单元。此外,静态类能够使您的实现更简单、迅速,因为您不必创建对象就能调用其方法。以一种有意义的方式组织类内部的方法(例如 System 命名空间中的 Math 类的方法)是很有用的。
public class Automobile
2public static class TemperatureConverter
2
class TestTemperatureConverter
{
static void Main()
{
System.Console.WriteLine("Please select the convertor direction");
System.Console.WriteLine("1. From Celsius to Fahrenheit.");
System.Console.WriteLine("2. From Fahrenheit to Celsius.");
System.Console.Write(":");
string selection = System.Console.ReadLine();
double F, C = 0;
switch (selection)
{
case "1":
System.Console.Write("Please enter the Celsius temperature: ");
F = TemperatureConverter.CelsiusToFahrenheit(System.Console.ReadLine());
System.Console.WriteLine("Temperature in Fahrenheit: {0:F2}", F);
break;
case "2":
System.Console.Write("Please enter the Fahrenheit temperature: ");
C = TemperatureConverter.FahrenheitToCelsius(System.Console.ReadLine());
System.Console.WriteLine("Temperature in Celsius: {0:F2}", C);
break;
default:
System.Console.WriteLine("Please select a convertor.");
break;
}
}
}
输入
2
98.6
示例输出:
Please select the convertor
1. From Celsius to Fahrenheit.
2. From Fahrenheit to Celsius.
:2
Please enter the Fahrenheit temperature: 98.6
Temperature in Celsius: 37.00
附加的示例输出可能如下所示:
Please select the convertor
1. From Celsius to Fahrenheit.
2. From Fahrenheit to Celsius.
:1
Please enter the Celsius temperature: 37.00
Temperature in Fahrenheit: 98.60
类的成员要么是静态的,要么是动态的,假如将类的某个成员声明为static,则该成员是静态成员。
类的静态成员是属于类任何,不必产生类的实例就能够访问他,就是只用类名就能够访问
静态成员为类的任何实例所共享,无论这个类创建了多少个实例,一个静态成员在内存中只占有一块区域.
类的非静态成员属于类的实例任何,每创建一个类的实例,都在内存中为非静态成员开辟了一块区域
静态方法只能访问类例的静态字段,而非静态方法能够访问类例的任何字段
静态类和类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立于任何对象标识的数据和行为:无论对象发生什么更改,这些数据和函数都不会随之变化。当类中没有依赖对象标识的数据或行为时,就可以使用静态类。
class CompanyInfo
static class CompanyInfo
使用静态类
作为不与特定对象关联的方法的组织单元。此外,静态类能够使您的实现更简单、迅速,因为您不必创建对象就能调用其方法。以一种有意义的方式组织类内部的方法(例如 System 命名空间中的 Math 类的方法)是很有用的。
public class Automobile
2public static class TemperatureConverter
2
class TestTemperatureConverter
{
static void Main()
{
System.Console.WriteLine("Please select the convertor direction");
System.Console.WriteLine("1. From Celsius to Fahrenheit.");
System.Console.WriteLine("2. From Fahrenheit to Celsius.");
System.Console.Write(":");
string selection = System.Console.ReadLine();
double F, C = 0;
switch (selection)
{
case "1":
System.Console.Write("Please enter the Celsius temperature: ");
F = TemperatureConverter.CelsiusToFahrenheit(System.Console.ReadLine());
System.Console.WriteLine("Temperature in Fahrenheit: {0:F2}", F);
break;
case "2":
System.Console.Write("Please enter the Fahrenheit temperature: ");
C = TemperatureConverter.FahrenheitToCelsius(System.Console.ReadLine());
System.Console.WriteLine("Temperature in Celsius: {0:F2}", C);
break;
default:
System.Console.WriteLine("Please select a convertor.");
break;
}
}
}
输入
2
98.6
示例输出:
Please select the convertor
1. From Celsius to Fahrenheit.
2. From Fahrenheit to Celsius.
:2
Please enter the Fahrenheit temperature: 98.6
Temperature in Celsius: 37.00
附加的示例输出可能如下所示:
Please select the convertor
1. From Celsius to Fahrenheit.
2. From Fahrenheit to Celsius.
:1
Please enter the Celsius temperature: 37.00
Temperature in Fahrenheit: 98.60
相关文章推荐
- C#基础:静态成员和静态类
- 深入理解C# 静态类与非静态类、静态成员的区别
- c#学习系列之静态类,静态构造函数,静态成员,静态方法(总之各种静态)
- C# 针对静态类的反射,静态成员同理
- 【转载】C#扫盲之:静态成员、静态方法、静态类、实例成员及区别
- C# 静态成员 静态方法 静态类
- C# 静态类与非静态类、静态成员的区别
- C#实战小技巧(一):静态类和静态成员
- C# 静态类与非静态类、静态成员的区别
- 深入理解C# 静态类与非静态类、静态成员的区别 [转载]
- 深入理解C# 静态类与非静态类、静态成员的区别
- C# 静态类与非静态类、静态成员的区别
- C# 静态类与非静态类、静态成员的区别
- 深入理解C# 静态类与非静态类、静态成员的区别
- C#中的静态成员、静态方法、静态类介绍
- c#静态成员和静态类
- 【C#小知识】C#中一些易混淆概念总结(三)---------结构,GC,静态成员,静态类
- C# 静态类与非静态类、静态成员的区别分析
- C# 静态类与非静态类、静态成员的区别
- 【C#小知识】C#中一些易混淆概念总结(三)--------结构,GC回收,静态成员,静态类