第八次

默认构造方法问题

1.问题
一个类中定义了构造方法,欲使用该类的默认构造方法实例化对象,但没有成功。
2.问题分析与解决
出错原因是如果程序员定义了一个或多个构造方法,将自动屏蔽默认的构造方法。
3.解决办法
显式定义无参数构造方法。注意:使用类的默认构造方法实例化对象所生成的对象属性值为零或空。可以在显式定义的无参数构造方法中为属于设置定值,从而完成初始化工作。

代码片

package com.hg.demo01;

import com.hg.demo02.Student;

public class demo01Student {
	public static void main(String[] args) {
		Student stu1=new Student();
		stu1.show();
		System.out.println("=======================");
		Student stu2=new Student("袁胖胖",18);
		stu2.show();
		stu2.setAge(19);
		stu2.show();
	}

}
package com.hg.demo01;

public class Student {
	private String name;
	private int age;
	public Student() {

}
	public Student(String name) {
		super();
		this.name=name;
	}
	public Student(String name,int age) {
		super();
		this.name=name;
		this.age=age;
	}
	public String getNam() {
		return name;
	}
	public void setName(String name)
	{
		this.name=name;
	}
	public int getAge(){
		return age;
	}
	public void setAge(int age)
	{
		this.age=age;
		
	}
}

代码片

package com.hg.demo02;

public class demo01Student {
	public static void main(String[] args) {
	Student stu1=new Student();
	stu1.setAge(22);
	System.out.println("我是"+stu1.getName()+"我已经"+stu1.getAge()+"岁");
	System.out.println("=======================");
	Student stu2=new Student("猪猪",21);
	System.out.println("我是"+stu2.getName()+"我已经"+stu2.getAge()+"岁");
	stu2.setAge(19);
	System.out.println("我是"+stu1.getName()+"我已经"+stu1.getAge()+"岁");
	}

}
package com.hg.demo02;

public class Student {
	private String name;
	private int age;
	public Student() {
		System.out.println("我是小龙女朋友");
	}
	public Student(String name,int age) {
		System.out.println("小龙是我男朋友");
		this.name=name;
		if(age>=0 &&age<=150)
			this.age=age;
		else
			System.out.println("age 参数不合法");
	}
	public void setName(String name)
	{
		this.name=name;
	}
	public String getName(){
		return this.name;
	}
	public void setAge(int age)
	{
		this.age=age;
	}
	public int getAge() {
		return this.age;
	}
	public void show() {
		System.out.println("我叫:"+this.name+"  "+this.age+"岁");
	}
}

成果展示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2020080605045 袁雪华 大数据2005

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值