Geoprocessing tasks by definition generates a new shapefile or feature class. That's why you always give them a "out" parameter. They run mostly as blackboxes, without letting you to interfere in the middle.
As other people suggested in the comments, one of the approaches is to open the feature class that was generated, after your command returns (if async) or right after it's execution (sync). I'll need to open your feature class and make queries around it.
Depending on the task that's being carried out, I really really prefer to not use geoprocessing tasks for this type of work.
For instance, you can calculate a intersection between two geometries with ArcObjects (since I never developed ArcObjects with Java, I'm not sure if it's available - but my guess is that it is):
IPolygon poly = CreatePolygonFunction() // imagine that this function creates a polygon that starts on 0,0 and follows to 0,1, 1,1, 1,0 and closes at 0,0
IPoint point = new PointClass();
ITopologicalOperator op = (ITopologicalOperator)poly;
IGeometry intersection = op.Intersect(point, esriGeometryDimension.esriGeometry0Dimension);
The last line of the code will give you an intersection between a polygon and a point. I specified 0 dimension on the second parameter because an intersection between a point and a polygon is always a point.
If these interfaces are not available on Java, I suggest that you take the simple approach, open up the result of your intersect geoprocessing task, and investigate it accordingly.