There are 2 types of serial communication mixed together in this discussion.
-
Hardware Serial. Used by Serial.print(), Serial.read() and other methods of the serial library, Communication is via pins 0 and 1 on the Arduino. These pins are also used when uploading a program to the Arduino.
-
Serial communication using the Wire library. This uses pins 2 and 3 on the Leonardo and is not used for Serial.print() etc
As you are using a Leonardo that implies to me that if you want to use the Wire library and Hardware Serial you cannot use interrupts 0 to 3 because all 4 interrupt pins are being used for other purposes. If you can do without Hardware Serial for debugging output or user input then you should be able to use interrupts 2 and 3 as well as interrupt 4 on pin 7.