构造方法的重载

当利用构造方法初始化赋值的时候,如果有5个成员变量,而我们只需要其中2到4个或者只有1个,但是构造方法中已经写好了所有变量,这时,我们可以利用JAVA重载的特性,去进行构造方法的再次编写,来达到我们的需求。


构造方法的重载

样例代码如下:

package 构造方法;

public class 构造方法的重载 {
		public static void main(String[] args) 
		{
			Person p1 = new Person();
			p1.show();
			Person p2 = new Person("路飞",18,"男",1,"十分帅气");
			p2.show();
			Person p3 = new Person("索隆",20,10,"更加帅气");
			p3.show();
			Person p4 = new Person(100);
			p4.show();
		}
	}
	class Person
	{
		//成员变量(类的属性)
		private String name ;
		private int age ;
		private String sex;
		private int money;
		private String face;
		
		
		//无参构造方法
		public  Person(){
			System.out.println("我是-无-参构造方法!");
		};
		//有参构造方法1 全部变量   比如统计所有信息时调用
		public Person(String name, int age, String sex, int money, String face) {
			System.out.println("我是有参构造1");
			this.name = name;
			this.age = age;
			this.sex = sex;
			this.money = money;
			this.face = face;
		}
		
		//有参构造方法2 除去了性别变量   假如这一堆人都是男的,就不用进行赋值了。
		public Person(String name, int age, int money, String face) {
			System.out.println("我是有参构造2");
			this.name = name;
			this.age = age;
			this.money = money;
			this.face = face;
		}
		
		//有参构造方法3 假如只登记年龄
		public Person(int age) {
			System.out.println("我是有参构造3");
			this.age = age;
		}
		
		//setter和getter方法
		public void setName(String name){
			this.name = name;
		}
		public String getName(){
			return name;
		}
		public void setAge(int age){
			this.age = age;
		}
		public int getAge(){
			return age;
		}
		public String getSex() {
			return sex;
		}
		public void setSex(String sex) {
			this.sex = sex;
		}
		public int getMoney() {
			return money;
		}
		public void setMoney(int money) {
			this.money = money;
		}
		public String getFace() {
			return face;
		}
		public void setFace(String face) {
			this.face = face;
		}
		
		
		
		//成员方法
		public void show(){
			System.out.println("我的名字为:"+name+",今年"+age+"岁了"+"我是"+sex+"生,有"+money+"贝利,长相"+face);
		}
	}

 输出结果为:

我是-无-参构造方法!
我的名字为:null,今年0岁了我是null生,有0贝利,长相null
我是有参构造1
我的名字为:路飞,今年18岁了我是男生,有1贝利,长相十分帅气
我是有参构造2
我的名字为:索隆,今年20岁了我是null生,有10贝利,长相更加帅气
我是有参构造3
我的名字为:null,今年100岁了我是null生,有0贝利,长相null

从上述代码可以看出,在创建对象的同时,我们可以利用构造方法的重载来进行自己想要的构造方式。

重载作为JAVA三大特性之一,具有十分广泛的应用。在JAVA自带的封装起来的类中有很多方法都利用了重载。

比如我们打开JAVA帮助文档。随便打开几个我们比较常用的类




除了这些,重载还会在整个编程生涯中占据着十分重要的角色。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值