抽象类静态方法和普通类静态方法有什么区别?

时间:2018-10-26 12:11:43

标签: c# .net

我有两个类,一个是抽象类,另一个是普通类。两者都具有静态方法并且以相同的方式调用并成功产生结果。

抽象类静态方法:

public abstract class AbstA
{
    public static void Print()
    {
        Console.WriteLine("Abstract Class static method");
    }
}

普通类静态方法:

public class NormalA
{
    public static void Print()
    {
        Console.WriteLine("Normal Class static method");
    }
}

两个都成功运行。

AbstA.Print();
NormalA.Print();

那两个类之间有什么区别?

3 个答案:

答案 0 :(得分:2)

抽象类和常规类中的静态方法没有区别,因为静态方法是在不实例化类的情况下调用的。

答案 1 :(得分:1)

要使用静态成员时,抽象类普通类甚至静态类之间没有区别。 区别是您要实例化它们中的每一个。

当课程为普通时:

您可以实例化它。就像您可能拥有的任何普通类一样。

当班级是摘要时:

您无法实例化它。拥有抽象类时,您可以具有未实现的类成员(方法,属性)。因此,您无法实例化它。 If you want to know more about abstract classes visit this link

当班级是静态时:

您不能实例化它。当类是静态的时,它只能包含静态的成员。因此您无法实例化它。 If you want to know more about static classes visit this link

答案 2 :(得分:-1)

在问题旁显示:静态方法没有区别。他们住在什么都没关系。

如果要用作其他内容的基类,例如将鞋作为抽象类,而将平底鞋(鞋的类型)作为从鞋继承的类,则可以使用关键字abstract。这不会影响其中的方法

希望这很有意义