Я знаю, что использовать статический метод в абстрактном классе нецелесообразно, но какая разница Если я использую как статический, так и нестационарный метод в абстрактном классе.В чем разница между нестатическим методом и статическим методом абстрактного класса?
Я предполагаю, что нет никакого различия в вызове этих методов, потому что мы не можем создать экземпляр для абстрактного класса, поэтому мы можем вызвать как статический, так и нестатический метод, используя только имя класса.
Есть ли разница между ними, кроме ключевого слова «Статический»?
Ex: Аннотация Класс:
abstract public class AbstractClass
{
#region Constructor
protected AbstractClass(Args args): this(args)
{
}
#endregion
#region public static methods
public static object FormLoad(Args args)
{
//Logic
}
public static object Sample(Args args)
{
//Logic
}
#endregion
#region Public non-static methods
public AbstractClass CreateResponse(Args args)
{
//Logic
}
public void ClearDialog()
{
//Logic
}
#endregion
#region Abstract Method
abstract protected void Responses();
#endregion
}
производный класс:
public class DerivedClass : AbstractClass
{
#region Public Constructors
public DerivedClass(Args args)
: base(args)
{
}
#endregion
#region Protected Methods
protected override void Responses()
{
//logic
}
#endregion
}