构造方法初体验

本文深入解析Java中的构造方法,探讨其特性与作用,包括构造方法的定义、如何与类同名、为何没有返回值,以及如何通过构造方法进行对象初始化。同时,介绍了封装的概念,即如何使用set和get方法来保护成员变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Java中构造方法的含义:一个与当前类同名的方法称为构造方法
  2. 特点
  • 与当前类同名

  • 没有返回值(也没有void)

  • 不能加void定义类型,它的返回值与void不同,若用void定义类型,则系统不会将其认定为构造方法

  • 其中不能使用return语句返回任何值

  • 一旦自定义构造方法后,系统将不再自动生成无参数的构造方法(总建议同时自定义有参和空参的构造)

class per {
private String name;					//封装
private int age;
										//构造方法
public per() {							//空参构造  构造名和类名相同  per
}
public per(String name,int age) {		//有参构造
this.name=name;
this.age=age;
										//无return  构造方法中自带return
}
										//set()
public void setname() {					//设置姓名
this.name=name;
}
public String getname() {				//获得姓名
return name;
}
public void setage() {					//设置年龄
this.age=age;
}
public int getage() {					//获得年龄
return age;
}
}
  • 关于set函数和get函数:为了使得成员变量更为安全,不在其他类中被更改,将成员变量进行了封装,set函数用来更改成员变量,get函数用来获得成员变量
  1. 构造方法的作用:在类的实例对象刚产生时,该类中的构造方法将会被自动调用,我们可以在构造方法中加入需要完成初始化工作的代码
  2. 测试代码
public class arr2_student_test {
    public static void main(String[] args) {
        students a=new students("王清杉"22);				//创建对象(初始化),同时自动调用构造方法
        a.setname("清杉夫人");								//修改成员变量
        a.setage(21);
        System.out.println(a.getname()+"..."+a.getage());	//输出
    }
}
class students {											//创建类
    private String name;									//定义成员变量
    private int age;
                                							//构造方法
    public students() {         							//空参构造(构造名和类名相同),自定义构造方法以后,系统不再自动生成空参构造
    }
    public students(String name,int age) {  				//有参构造(构造名和类名相同)
        this.name=name;
        this.age=age;
    }
    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;
    }
}

  1. 运行结果
    在这里插入图片描述
  2. 创建对象时构造方法的自动调用
    为了体现构造方法的自动调用,我们对代码进行了修改,更清晰
class students {
    private String name;
    private int age;
                                //构造方法
    public students() {         //空参构造(构造名和类名相同)

    }
    public students(String name,int age) {  //有参构造(构造名和类名相同)
    	System.out.println("Hello World !");
        this.name=name;
        this.age=age;
    }
  • 运行结果
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值