I've been writing one/two projects but I not using them. I'm not sure in which
scenario I should use them. Is this consider bad programming style?

Short answer: small projects (eg < 1 man-month) rarely need interfaces or abstract classes, but large projects use them to define exacty how different parts of the app will communicate with each other.

This section from Oracle's Java tutorials explains it pretty well.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.