The intent would be implicit without the third line of code. Does setting the package make it explicit? The component isn't specified, so based on Stack Overflow answers: it is implicit...
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setPackage("com.example.app");
startActivity(intent);
...but the target app's package name is supplied, so it is explicit, based on the docs:
Explicit intents specify which application will satisfy the intent, by supplying either the target app's package name or a fully-qualified component class name.