Class references

what are all the ways classes can communicate ?

if i want to use events between 2 classes, one class has to have a reference to another if it wants to listen for certain event from that class, right?

so this mean i need to get a refernce to that class.

i could use static functions also.