Magento 2 - Cannot instantiate abstract class

When you make an extension for Magento, you may face an issue like this:

Cannot instantiate abstract class Magento\\Framework\\Model\\ResourceModel\\AbstractResource at

or

Cannot instantiate abstract class Magento\Framework\Model\ResourceModel\AbstractResource in

There are many reasons, but this may be a common case. I give you some tips so you can try to fix it yourself.

This often happens when a third-party extension has a default parameter in between the __construct() arguments instead of at the end.

Please check which action you're performing while getting this error. One of the classes involved in this action can have a default parameter in between, like below:

Magento 2 - Cannot instantiate abstract class
You need to move array $data = [] to the last position because it has a default value.

How to fix issue Cannot instantiate abstract class