构造函数、重载、传递

  public class QLZ{
String name;//定义姓名
}
public class Main{
public static void main(String [] args){
SWZ S1=new QLZ();
Q1.name=("侵略者");//创建一个对象,并赋予名字
}
可以看到,在类QLZ中,并没有看到创建对象的方法,但在Main中却可以直接创建一个对象。其实并不是不存在创建对象的方法,它是隐藏起来的默认存在的。这一种在创建对象的时候调用的用来构造对象的方法,其就是构造方法。可以将其理解为一种特殊的方法,下面是定义方式:
class类名称{
访问权限 类名称(类型1 参数1,类型2 参数2,......)
}
可以看出其和 普通方法的区别:1)不写返回值,但是有返回值,返回对象的内存地址。
2)方法名必须和类名一样。另外还有3)只在创建对象的时候调用。因此,可以用它来为对象的数据成员做初始化赋值。下面用java代码来说明:
 public class Police{

[code="java"]public Police(){
System.out.println("new ");//Police类的构造方法
}
Police p=new Police();//实例化一个对象p,此时调用Police类的无参构造方法,在屏幕上显示“new”

}[/code] 在java中,存在两个或几个方法的方法名相同,参数的个数,参数的类型不同,或者参数顺序不同的方法,叫做方法的重载。其特点是方法名相同,参数不同。其作用是实现做同一件事情的多种不同形式。格式如下所示:
class 类名称{
访问权限 返回值类型 方法名称(类型1 参数1){
方法主体
}
访问权限 返回值类型 相同方法名称(类型1 参数1,类型2 参数2){

方法主体
}
访问权限 返回值类型 相同方法名称(类型2 参数2,类型1 参数1){
方法主体
}

}
构造方法也同样可以重载,下面通过一段代码来说明:
public class Police{

public Police(){
System.out.println("第一个");
}
public Police(int a){
System.out.println("第二个");
}
Police p1=new Police();//调用了第一个构造方法,显示"第一个"
Police p2=new Police(1);//调用了第二个构造方法,显示“第二个”
}
最后引用传递,我想通过代码来说明:
public class Main{
public static void main(String [] args){
QLZ Q1=new QLZ();
Q1.name=("侵略者");//在堆内存中开辟一个新空间,新建一个对象,并把它的地址赋予Q1,以后用到Q1,其就会把地址传递过去
S1.PK(Q1);//引用传递,Q1把对象的地址传递过来
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值