title: Java Abstract Keyword and Interfaces
body: <p>The code snippet is as follows:</p>
  
  <pre><code>    interface Demo {   
          void incrementCount();  
          int getCount();  
       }    
  
      class ChildDemo implements Demo {   
          public int count = 10; 
  
          private void incrementCount() {    
               count++;   
          }   
  
          public int getCount(){    
               return count;   
          }       
  
          public static void main(String[] args){    
               int res;    
               Demo  ob= new ChildDemo ();    
               res = ob.getCount();    
               System.out.println(res);   
          }  
      }
  </code></pre>
  
  <p>And, the output whhich I get is as follows:</p>
  
  <pre><code>    Compilation Error:incrementCount() in ChildDemo cannot implement incrementCount() in Demo; attempting to assign weaker access privileges to the method.
  </code></pre>
  
  <p>I would like to clarify a few things:
  <br/>1. Why is it an error? What is attempting to assign weaker access privileges?
  <br/>2. Changing it to <code>private</code>- can the method <code>incrementCount()</code> can still perform its calculations?
  <br/>3. What changes should be made to get the output as</p>
  
  <pre><code>10
  </code></pre>
  
  <p><br/>4. What changes should be made to made to get the output as:</p>
  
  <pre><code>11
  </code></pre>
  
  <p>Thanks in advance.</p>