C# 入門 & 実践 / C sharp
3-7. static 静的
インスタンスを通じて、staticメンバにはアクセスできない!
class MyStatic
{
private static int x = 100;
private static int y;
private int z = 10;
public MyStatic()
{
y = 200;
x++;
}
public int getX()
{
return x;
}
public static int getY()
{
// static メソッドの中では static 変数以外は使用できない!
// z++;
return y;
}
public int getYY()
{
return getY();
}
}
static void Main(string[] args)
{
MyStatic ms = new MyStatic();
int x = ms.getX();
// 使用できない! int y = ms.getY();
// static メソッドは、インスタンスからは呼び出せない!
// ↓このようにクラス指定して呼び出す。
int sy = MyStatic.getY();
int y = ms.getYY();
Console.WriteLine("ms.x = {0} / ms.y = {1} / sy = {2}", x, y,sy );
MyStatic ms2 = new MyStatic();
// x は、static 変数なので、ms の x も ms2 と同じになる。
Console.WriteLine("ms.x = {0} / ms2.x = {1}", ms.getX(), ms2.getX());
}
実行すると
ms.x = 101 / ms.y = 200 / sy = 200
ms.x = 102 / ms2.x = 102
となる。
3-6. ICloneable インターフェイスで、クローン生成。 «
3. C# 入門 / 基礎、型、文法、基本? »
3-8. デストラクタ と Dispose と using
C# 入門 & 実践 / C sharp