Difference between Data abstraction and procedural abstraction in java
<p>I am trying to understand the difference between Data abstraction and procedural abstraction in java.</p>

<p>I understand the procedural abstraction is making use of methods that accept formal parameters and hiding the implementation from the user. This totally makes sense in <code>PL/SQL</code> language as I have an option of creating procedures separately in <code>PL/SQL</code>.</p>

<p>But I get confused between Data abstraction and Procedural abstraction, as even the procedures in Java are implemented as part of some class. And every class can also have some static methods(<code>public static</code>) which every other class in the package can use.</p>

<p>Please can someone give a clear distinction between these two(in terms of java)</p>