There are many definitions of abstraction, but it's about ignoring certain details so you can focus on larger issues. One definition says it's not about being imprecise but finding a new language about the problem so you can be more precise.
In Java abstraction is often about referring to an abstract type - a superclass or interface - rather than a concrete type. I might make a method that refers to List:
You might call my method with an ArrayList or a LinkedList. By ignoring the detail of the exact type I can focus on the big picture of what I want to do with the list.
Does that help?
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi