Leslie

Sbkill1r,Qlb6x.

Navigation
 » Home
 » About Me
 » Projects
 » Github
 » XML Feed

Java构造方法与重载

11 Jan 2016 » java

构造方法

  • 构造器又称为构造方法(constructor)
  • 构造器用于构造该类的实例
  • 格式如下:
[修饰符] 类名 (形参列表)
{
	//n条语句	
}
  • 是一种特殊的方法:
public class Car{
	int speed;
	//构造器的方法名必须和类名一致
	public Car(){
		System.out.println("构造一辆车");
	}
}
public class TestConstructor{
	public static void main(String[] args){
	Car c=new Car();	
	}
}
  1. 通过new关键字调用

  2. 构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能在构造器里调用return

  3. 如果我们没有定义构造器,则系统会自动定义一个无参的构造函数,如果已定义则编辑器不会添加!

  4. 构造器的方法名必须和类名一致

  5. 构造该类的对象,初始化对象的属性

重载(overload)

  • 方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。

  • 两同三不同

  1. 同一个类,同一个方法名。

  2. 不同:参数列表不同(类型,个数,顺序)

  • 只有返回值不同不构成方法的重载

  • 只有形参的名称不同,不构成方法的重载

  • 与普通方法一样,构造方法也可以重载

public class Add {
	public static void  main (String[] args)
	{
		Mymath m = new Mymath(1);
		int result=m.add(4, 5);
		System.out.println(result);
		System.out.println(m.add(4,5,6));
	}
}
class Mymath{
	int x;
	public Mymath(int _x)
	{
		this.x=_x;
	}
	public Mymath(int _x,int _y)
	{
		this.x=_x+_y;
	}
	public int add(int a,int b)
	{
		return a+b;
	}
	public int add(double a,int b)
	{
		return (int)(a+b);
	}
	public int add(int a,double b)
	{
		return (int)(a+b);
	}
	public int add (int a,int b,int c)
	{
		return a+b+c;
	}
}