静的は、項目をインスタンス化できない C# のキーワードです。つまり、静的キーワードが使用されている項目はインスタンス化できなくなり、クラス、変数、メソッド、コンストラクターに適用でき、静的クラスが作成されます。 、静的変数、静的メソッド、静的コンストラクター、および静的メンバー。これは、特定の種類のオブジェクトに属さないメンバーの宣言でキーワード static を使用することで作成できます。むしろ、それはタイプ自体に属します。
メンバーの宣言の前にキーワード static を使用することで、任意のメンバーを静的として宣言できます。静的クラス、静的変数、静的メソッド、静的コンストラクターを宣言する方法を理解しましょう。
クラスは、キーワード static を使用して静的クラスとして宣言できます。静的クラスに含めることができるのは、静的データ メンバー、静的メソッド、および静的コンストラクターのみです。静的クラスのオブジェクトは作成できません。静的クラスでは継承を実行できません。
以下のプログラムを通じて静的クラスを宣言して理解しましょう:
コード:
using System; //A static class is created using the keyword static static class example { // Creating a string variable and declaring it as static using static keyword public static string demo = "Welcome to C#"; } //Creating a public class public class check { // Calling the static main method static public void Main() { //The static member of the tutorial class which is static is called Console.WriteLine("Understanding static keyword : {0} ", example.demo); } }
上記のプログラムの出力を以下のスナップショットに示します。
出力:
変数は、キーワード static を使用して静的変数として宣言できます。変数を静的として宣言し、それをすべてのクラス オブジェクトと共有すると、変数の単一のコピーが作成されます。クラスの名前を使用して静的変数にアクセスします。静的変数にアクセスするためにオブジェクトは必要ありません。
以下のプログラムを通じて静的変数を宣言して理解しましょう:
コード:
using System; //A static class is created using the keyword static class check { // Creating a string variable and declaring it as static using static keyword public static string learn = "Python"; } //Creating a public class public class checkvar { // Calling the static main method static public void Main() { //The static member of the check class which is static is called Console.WriteLine("I want to learn : {0} ", check.learn); } }
上記のプログラムの出力を以下のスナップショットに示します。
出力:
キーワード static を使用すると、メソッドを静的メソッドとして宣言できます。クラスの名前を使用して静的メソッドにアクセスします。静的フィールドと非静的フィールドの両方に、静的メソッドを使用してアクセスできます。静的フィールドにアクセスするためにオブジェクトやクラス名は必要ありませんが、非静的フィールドにアクセスするにはオブジェクトが必要です。
以下のプログラムを通じて静的メソッドを宣言して理解しましょう:
コード:
using System; //A static class is created using the keyword static class students { // Creating a string variable and declaring it as static using static keyword static public int number = 100; //Creating a method and declaring it as static using static keyword public static void count() { Console.WriteLine("Number of students"+ " learning python is :{0}", number); } } //Creating a public class public class display { // Calling the static main method static public void Main() { //class name is used to access the number of students students.count(); } }
上記のプログラムの出力を以下のスナップショットに示します。
出力:
コンストラクターは、キーワード static を使用して静的コンストラクターとして宣言できます。静的コンストラクターは、コンストラクターのインスタンスが実行される前に自動的に呼び出され、プログラム内で参照されるクラス ID の前にクラス内で 1 回だけ呼び出されます。クラスの名前はコンストラクターの名前と同じである必要があります。
以下のプログラムを通じて静的コンストラクターを宣言して理解しましょう:
コード:
using System; //A public class is created public class constructor { //A static constructor is defined whose name is same as the name of the class static constructor() { //This statement is displayed as the first line of the output and it is executed only once Console.WriteLine("Understanding Static Constructor"); } // The constructor instance is created public constructor(int a) { Console.WriteLine("constructor instance " + a); } // A public method is defined public string details(string name, string work) { return "Name: " + name + " Work: " + work; } // Calling the public main method public static void Main() { // Invoking all the constructors defined before constructor con = new constructor(1); Console.WriteLine(con.details("Shobha", "Data Scientist")); //Again Invoking all the constructors defined before constructor co = new constructor(2); Console.WriteLine(co.details("Shobha", "Tyson")); } }
上記のプログラムの出力を以下のスナップショットに示します。
出力:
静的クラスは非静的クラスと似ていますが、静的クラスのインスタンスは作成できません。つまり、new 演算子を使用して静的クラスの変数やオブジェクトを作成することはできず、静的クラスのメンバーにはクラス名自体を使用してアクセスされます。たとえば、.NET Framework の静的クラス System.math について考えてみましょう。これは、数学クラスのインスタンスを作成することなく数学演算を実行するために必要なメソッドで構成されています。
静的クラス、静的変数、静的メソッド、静的コンストラクターを説明するための C# プログラム。
コード:
using System; //A public static class is created public static class check { //A public static variable is created public static int height; //A static constructor is created static check() { // Method is called by the constructor height = distance(20); } //A static method is created static int distance(int number) { return Environment.TickCount * number; } } //A public class is created public class Program { public static void Main() { //Accessing the constructor and its object Console.WriteLine("Bird can fly upto: {0}", check.height); } }
上記のプログラムの出力を以下のスナップショットに示します。
出力:
以上がC# の静的キーワードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。