Can a static synchronized method be accessed alternately when it is invoked from two different objects?
We don't invoke methods "from objects." We invoke them from threads, and it's the threads that exclude each other, not the objects.
There's nothing special about a static synced method. Just like every single use of synchronization, all it does in terms of mutual exclusion is that it obtains an object's lock, first waiting until it's released if some other thread currently holds it. That's it. Nothing else.
Isn't there only one lock for a static synchronized method
No. There's one lock per object. Period.
All the syncings do the same thing: Obtain one object's lock. Declaring a method synchronized is just shorthand for syncing the entire method body on a specific lock. The only difference between a static synced method and a non-static one is which object's lock we're obtaining.