从功能上来理解,构造器,就是用来创建对象的,且在创建对象的同时可以对对象的属性进行赋值。
//创建对象:new + 构造器
Person p = new Person();
而方法,是属于类的功能,需要通过创建对象,通过对象来调用方法(静态方法可以直接通过类来调用),实现某些功能。
//调用方法:对象.方法名();
p.eat();
从格式上来说,构造器没有返回值类型,也不能被关键字所修饰,相对于方法名,构造器名称成必须与类名一致。
构造器声明:
//权限修饰符 类名(构造器名称)(形参列表){
//初始化操作
//}
方法声明:
//权限修饰符 关键字 返回值类型 方法名(形参列表){
//方法体(方法内部的代码就叫做方法体)
//}
重载的概念:同一个类中,存在多个相同方法名,而方法之间形参列表不同的方法之间构成重载。
例如:
public void eat(){}
public void eat(int a){}
public void eat(String a){}
public int eat(String a,int b){return;}
以上4个方法构成重载,重载与返回值类型、权限修饰符无关,只考虑方法名与形参列表。
构造器的重载与方法一样,都只考虑方法名(类名)与形参列表。
(注*:因为构造器名称必须与类名一致,所以重载只需要考虑形参列表)