构造方法与方法重载
A)构造方法
构造方法即构造函数或构造器。每一个类中都有一个默认的构造函数。
比如在下面代码中:
1
.public police(String n){/*函数内容*/}2.public police(){ /*函数内容*/}?在上面代码中,两个函数方法的方法名相同,参数不同,后者没有参数,前者有字符串类型的参数。
构造函数特点:1)构造函数不写返回值,但是有返回值,返回的是创建对象的地址。
??????????????2)方法名和类名一样。
??????????????3)创建对象时候调用。
构造函数只是用来创建对象。
可以用如下代码来说明:
public police(String n,int b,int c){name = n;blood = b;ATK = c;} //police 类的构造方法police pol=new police("张三",100,10); ?
B)方法重载
方法重载就是方法名相同,但是参数不同(参数个数、参数类型、参数顺序),就称为方法重载。只需要看方法名与参数,而与函数的返回类型或是执行内容均无关系。其作用是实现做同一件事情的多种不同形式.
可以用如下代码说明:
//方法 public void beat(thief thi){ if(thi.blood>0){ thi.blood--; this.ATK++; System.out.println("小偷血量减一"); System.out.println("警察攻击力加一"); } else System.out.println("The police win!!"); } //方法 public void beat(thief thi,int s){ if(thi.blood>0) { thi.blood-=2; this.ATK+=s; System.out.println("小偷血量减二"); System.out.println("警察攻击力加"+s); } else System.out.println("The police win!!"); } pol.beat(thi);//调用了方法一,所以输出"小偷血量减一"或者“The police win!!” pol.beat(thi,2);//调用了方法二,所以输出"小偷血量减二"或者"The police win!!"?
以上事例,所用方法名均为beat,由于参数个数不同,因此为方法重载。
?
<!--EndFragment-->