First I will ask if there is a previous code convention/standard about that being used by the team. If there is any, you should follow it.
If you have to define the convention, I will push for the explicit way.
My reasons?;
- I like to keep the same structure (I mean a.-access modifier, b.-return-type/type, c.-name).
- I don't want (and I don't expect others) to remember all the modifiers by default (which are here).
- Not all the languages have the same rules.
- And somehow I think that, somehow, forces the developer to think and be more conscious about the scope of the variable/method and the exposition of those. If you have some experience this will probably not apply, but if you are a newbie, or you work with people with less experience, I think that is useful.