There is no default constructor available in 'Salad' "
If there is no default constructor in the superclass, but in the subclass, then you can create a constructor with no arguments in the superclass (if this cannot be done, then see below). Without this, it is impossible to create an instance of a subclass, since the default constructor is a constructor with no arguments (the reverse is not true) and it will implicitly call the same superclass constructor when creating an instance of the subclass. And if there is any constructor in the subclass, then the default constructor does not exist.
To create an instance of a subclass, it is required to sequentially call the constructors of the superclasses, so if any of the constructors is missing, then it must be created explicitly. If there is a constructor with arguments in the superclass, then there is no default constructor, and in the subclass you need to create the same constructor that the superclass constructor calls and passes arguments to it. To do this, in the first line of the subclass constructor, call the superclass constructor as follows
super(*args*);
Something like that in this answer.
It does not matter which constructor and how many arguments it has, the main thing is to call the superclass constructor when creating the subclass.
If there is a constructor with no arguments in the subclass, it will be called implicitly from the default constructor, but in this case there is no such constructor, and for this reason an error occurs.