I get this error from time to time and you may get it too:
"There is no default constructor available in com.example.A"
Here's a sample code / pattern (error is shown by my IDE on line 7):
public class A {
public A(int a) {
}
}
class B extends A {
}
The reason for that error is very clear if you read the Java language specification, the section(s) on constructors.
In Java, every class has a constructor. If you don't declare you own, a default (no-argument) constructor will be created implicitly for you. If you do declare your own constructor, then no no-argument constructor will be created implicitly - you'll have to create it manually if you want one. The default constructor has the access modifier of the class (so, for example, if your class is "public", then the implicitly created default constructor will also have the "public" access modifier etc.).
So both classes in the above code are guaranteed to have a constructor: A has an explicit one and B has an implicit no-argument constructor. Here's the essential thing that you are required to know to understand why the error takes place: in Java, all constructors start with a call to a superclass constructor. The exception is the Object class, which has an empty constructor. If you explicitly call a superclass constructor (using super([parameters])), then this requirement is fulfilled. If you don't, then the default constructor of the superclass is called implicitly.
However, if your superclass doesn't have a default constructor, like in A's case above, this will result in a compile-time error. You will therefore need to call a superclass constructor explicitly in B, which in turn requires you to create a constructor explicitly in B.
Yet another situation when knowing the language specification comes in handy. :)