类的方法?实例方法需要类的实例来调用,静态方法是共享的,用类名就行。 所有,如果这个类的字段就是这个类本身,那么就可以调用实例方法,如 class A { private string _name; public A(string name) { this._name = a } public static readonly A Default = new A("abc"); public void Test() { Console.Write(this.name); } } 可以这样调用: new A("123).Test(); A.Default.Test();
=> this._name = name;
C# 和 java对这个处理不是一样的! 我试过了,java可以用对象去调用类的静态方法,可是。 我发现在C#中,怎么不行。 好像语法本来就是应该可以的,好像又是 visual studio 的问题?
1L还不如不贴你那烂代码,让人看着更晕 将方法定义为static就可以直接调用了//直接A.Test() class A { public static void Test() { Console.Write("test"); } }
所有,如果这个类的字段就是这个类本身,那么就可以调用实例方法,如
class A
{
private string _name;
public A(string name)
{
this._name = a
}
public static readonly A Default = new A("abc");
public void Test()
{
Console.Write(this.name);
}
}
可以这样调用:
new A("123).Test();
A.Default.Test();
我试过了,java可以用对象去调用类的静态方法,可是。
我发现在C#中,怎么不行。
好像语法本来就是应该可以的,好像又是 visual studio 的问题?
将方法定义为static就可以直接调用了//直接A.Test()
class A
{
public static void Test()
{
Console.Write("test");
}
}
我知道在类的内部static 方法,可以直接调用,但是在另一个类不是也要指明 ClassName.StaticMethod,是吧!
不管是在外边还是里边,
不是都可以用对象去访问类的static 方法么?
反正在java那边是可以!
嗯,那就是 C# 这点对 java的改造了!
因为昨天我刚去java 那测试,发现都是可以的!
我知道你和 7 楼的意思!
可以的,静态的属性可以用对象去调用,只是static的方法不可以而已,我试过了!