构造方法的重载

 

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、三个构造方法形成了构造方法的重载。

posted @ 2016-07-21 19:28  Andya_net  阅读(317)  评论(0编辑  收藏  举报