构造方法的重载
package com.liaojianya.chapter1;
/**
* This program demonstrates the correct use of construct overload.
* @author LIAO JIANYA
* 2016年7月21日
*/
public class ConstructOverload
{
public static void main(String[] args)
{
Person2 p = new Person2();
Person2 p1 = new Person2(33);
Person2 p2 = new Person2("wangxiaoyuan", 23);
p.talk();
p1.talk();
p2.talk();
}
}
class Person2
{
private String name;
private int age;
public Person2()
{
name = "zhangsan";
age = 22;
}
public Person2(int age)
{
name = "wangyuan";
this.age = age;
}
public Person2(String name, int age)
{
this.name = name;
this.age = age;
}
public void talk()
{
System.out.println("My name is " + name + ", I am " + age + " years old.");
}
}
运行结果:
My name is zhangsan, I am 22 years old.
My name is wangyuan, I am 33 years old.
My name is wangxiaoyuan, I am 23 years old.
分析:1、第一个构造方法是无参构造,第二个,第三个是有参构造,当对象实例化时,根据new出来对象中是否无参还是有参以及参数个数来调用对应的构造方法。
2、三个构造方法形成了构造方法的重载。
还没有评论,来说两句吧...