java return返回值的区别

public class TestSuperSub{

            public int test(){
                System.out.println("test1");
                return 2;
            }

            public void test(int a){
                System.out.println("test2");
            }   

            //以下两个参数类型顺序不同
            public String test(int a,String s){
                System.out.println("test3");
                return "returntest3";
            }   

            public String test(String s,int a){
                System.out.println("test4");
                return "returntest4";
            }   
            public static void main(String[] args){
                TestSuperSub o = new TestSuperSub();
                System.out.println(o.test());
                o.test(1);
                System.out.println(o.test(1,"test3"));
                System.out.println(o.test("test4",1));
            }
        }

结果:test1
2
test2
test3
returntest3
test4
returntest4
提问:为什么会有return值“2”“returntest3”“returntest4”返回??

2 是返回的int型的值啊,returntest3”“returntest4”是因为返回值是string啊,怎么了

图片说明

都是返回值,你不打印直接调用。就不会有这些返回值。

System.out.println(o.test());
//把你无参数方法的返回值2,转为字符串2 输出了。