title: Why a member method of class is called before the Constructor
body: <p>Generally, Constructor is the very first thing to be executed in class when it's instantiated.</p>
  
  <p>But in following case, A member methods of the class are executed first &amp; then the constructor.</p>
  
  <p>Why is it so?</p>
  
  <p>A Code Scenario :</p>
  
  <pre><code>namespace AbsPractice
  {
      class Program
      {
          static void Main(string[] args)
          {
              SavingsCustomer sc = new SavingsCustomer();
              CorporateCustomer cc = new CorporateCustomer();
          }
      }
  
      public abstract class Customer
      {
          protected Customer()
          {
              Console.WriteLine("Constructor of Abstract Customer");
              Print();
  
          }
  
          protected abstract void Print();
      }
  
      public class SavingsCustomer : Customer
      {
          public SavingsCustomer()
          {
              Console.WriteLine("Constructor  of SavingsCustomer");
          }
  
  
          protected override void Print()
          {
              Console.WriteLine("Print() Method of SavingsCustomer");
          }
      }
  
      public class CorporateCustomer : Customer
      {
          public CorporateCustomer()
          {
              Console.WriteLine("Constructor of CorporateCustomer");
          }
  
  
          protected override void Print()
          {
              Console.WriteLine("Print() Method of CorporateCustomer");
          }
      }
  }
  </code></pre>