The test method is called with(1.0,2L,3) which is
(double,long,int)
Since there is no test method that exactly matches this it will select the one that will promote the parameters passed to the required values.
Hence it will call test(double,double,double)
Hence it will promote long and int to double.
It will print 3.