What makes a ball bounce is it the material they use or the surface?

It's a combination of both. A ball will bounce because it, and the surface, have rebound. When a ball strikes an object, like the floor or a baseball bat or glof club, the molecules in both the ball and the object become compressed momentarily. If the ball and object both have high elasticity (see below) then the molecules rebound with a force nearly equal to the force with which they were compressed. It can't be equal though because a small amount of the energy is lost to friction both between the objects and between the molecules as they compress and rebound, yes, molecules can rub against each other. If one or both the objects are not elastic, the molecules will compress or move out of the way and they will mot rebound so the ball wont bounce. Drop a rubber ball and a clay ball on a hard floor and see what happenc Elasticity- a materials ability to stretch or compress and then, this is important, to return to its original shape.