疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java中的构造函数和重载


 

   

  一.Java中的构造函数

  构造函数是对象被创建时初始化对象的成员方法,它具有和它所在的类完全一样的名字。构造函数只能有入口参数,没有返回类型,因为一个类的构造方法的返回类就是类本身。构造函数定义后,创建对象时就会自动调用它,对新创建的对象分配内存空间和初始化。在 Java 中,构造函数也可以重载,当创建一个对象时, JVM 会自动根据当前对方法的调用形式在类的定义中匹配形式符合的构造方法,匹配成功后执行该构造方法。

  eg:

  复制代码

  public Class Dog

  {

  private int age;

  private String name;

  //无参构造

  public Dog(){}

  //带参构造:用于给类中的属性赋值

  public Dog(int age,string name)

  {

  this.age=age;

  this.name=name;

  }

  }

  复制代码

  二.Java中默认构造

  如果省略构造方法的定义,则 Java 会自动调用默认的构造方法。但是如果定义了构造方法,则系统不再提供默认的构造方法。默认的构造方法没有任何参数,不执行任何操作。实际上,默认的构造方法的功能是调用此类的父类中的不带参数的那个构造方法,如果父类中不存在这样的构造方法,编译时会产生错误信息。 Object 是 Java 中所有类的根,定义它的直接子类,可以省略 extends 子句,编译器会自动包含它。

  三.方法重载

  方法名称相同,参数项不相同。那么认为一个方法是另一个方法的重载方法。

  注意:重载只跟参数有关,与返回类型无关。方法名和参数相同而返回类型不相同,不能说是重载。

  public void Say(int age){}

  public int Say(int age,string name){}

  public String Say(String name,String age){}

  四.构造方法重载

  构造方法重载是方法重载的一个典型的特例。参数列表不同。

  可以通过重载构造方法来表达对象的各种多种初始化行为。也就是说在通过new语句创建一个对象时,可以实现在不同的条件下,让不同的对象具有不同的初始化行为。

  复制代码

  public Class Text

  {

  Private String name;

  Private String sex;

  Public Text(String name){

  this.name=name;

  }

  Public Text(String name,String sex){

  this.name=name;

  this.sex=sex;

  }

  }

  复制代码