core java concept, method overloading programme : package arunjava;

public class sample3 
{

	public static void main(String[] args) 
	{
		Box25 b1=new Box25();
		Box25 b2=new Box25();
		
				
		b1.Dimension(25, 32, 65);
		b2.Dimension(25, 45, 62);
		
        System.out.println("volume is"+b1.volume());
		
		System.out.println("volume is"+b2.volume());
		
		b1.Dimension(4, 6, 8);
		b2.Dimension(6, 8, 4);
		
		System.out.println("volume is"+b1.vol());
		
		System.out.println("volume is"+b2.vol());

	}

}
class Box25
{
	double height,width,depth;
	
	int height1,width1,depth1;
	
	public void Dimension(double height, double width, double depth)
	{
	    this.height=height;
	    this.width=width;
	    this.depth=depth;
	    
	}
	
	public void Dimension(int height1, int width1, int depth1)
	{
	    this.height1=height1;
	    this.width1=width1;
	    this.depth1=depth1;
	    
	}
	 
	  double volume()
	{
		return height*depth*width;
	}
	 int vol()
	{
		return height1*depth1*width1;
	}

}


Hey guys I had created the following programme in my java tutorial. The problem is that i am not able to compute the volume of the box which has the double datatype.

The programme result shows the following:
volume is0.0
volume is0.0
volume is192
volume is192

Secondly i have a doubt in the java concept Method overloading, as i know that in method overloading we can use the same method name with different parameters but as i created the volume method, i had to modify the name of the methods(volume,vol) so as to overload the volume method and  get the answer. why is it like that 

Eagerly waiting for your reply guys as i am just new to the java programming language.  i would a;so request you to paste the corrected code while answering.