Predeclaration and prototypes don't work for methods. See the Prototypes section of the perlsub manpage.
From perlsub:
Method calls are not influenced by prototypes either,
because the function to be called is indeterminate at
compile time, since the exact code called depends on
inheritance.
Comment on Re: Can One Predeclare a Package's Methods?