Java中的重载

Java重载简析

在静态代码块和非静态代码块中,定义类所使用的方法时如果方法的名字相同(一般是使用动词或者动宾的结构给方法命名,例子:dohomework,do,make,add)

方法名后面()中的参数列表不同,参数列表的不同指的是参数的数据类型不同,参数的个数不用,参数的名字不同不能算作是重载。


	public static int dowork(int a, int b) {

		return a+b;
	}
	public static int dowork(int a, int b,int c) {
		return 123;
	}

该代码段为重载(参数列表中参数的数量不同);


	public static int dowork(int a, int b) {

		return a+b;
	}
	public static int dowork(int d, int c) {
		return a+b+c;
	}

该代码段报错,仅仅是参数名字相同不能算作是重载;


	public static int dowork(int a, int b) {

		return a+b;
	}
	public static void dowork(int a, String a) {//此处因为返回值类型是void,故没有返回值

	}

该代码段为重载,数据类型不同

main方法中可以根据参数列表内参数的数目及参数的数据类型,自动调用方法:

package apple;

public class Study {

	public static int dowork(int a, int  b) {
        System.out.println(a+b);
		return 2;
	}
	public static int dowork(int a, int b,int c) {
		return 6;
	}
	
	public static Object dowork(int a, String b) {	
		System.out.println(a+b);	
		return 3;
	}
	public static void main(String[] args) {
		
		Study x=new Study();
		x.dowork(1, 2);//此处可直接使用Study.dowork(int a,int b)调用,因为修饰词为final
                        //此处自动调用方法
		Study.dowork(1,"joker");//此处根据数据类型和数量调用方法
	}
	
}

 

你可能感兴趣的:(java)