Java day04 类的封装性—— 构造函数 ,构造代码块

本文详细介绍了构造函数的作用及其写法,包括默认构造函数、自定义构造函数以及构造函数重载等内容。此外还对比了构造函数与get()、set()方法的区别,并介绍了构造代码块的概念及其使用场景。

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

 构造函数的作用:

用于在创建对象时对对象进行初始化。

构造函数的写法及生成:

  1. 若未自定义构造函数,那么编译器将为你生成一个默认无参数构造函数 
  2. 若自定义了构造函数,不论其有参数与否,默认的空构造函数都被覆盖

get(),set方法与构造函数的区别:

  1. 构造函数仅在对象初始化时运行一次,即仅在对象生命周期中运行一次,
  2. 一般方法在对象生命周期任意时刻都可以调用

 

构造代码块

  1. 先于所有构造函数执行

  2. 在对象生成时执行,

构造代码块的作用:

同一个类中,多个构造函数内有很多相同的操作,应该考虑使用  构造代码块来提取这些冗余的代码

 

class Person
{
	String name;
	//构造函数 函数名与类同名,无需定义返回值类型
	Person()
	{
		System.out.println("I'm coming ");
	}
	//构造函数重载
	Person(String name)//参数是局部变量,仅对本函数内起作用
	{//
		this();//构造函数间相互调用时的写法,必须放在此构造函数的第一行,为了保证自定义的赋值在后面起作用
		this.name=name;//左边是成员属性名,右边是局部变量名
					//当 写作name=name时,name先在本局部作用域中寻找,若找到,则不再向外搜寻,所以打印结果显示null
					//this 代表当前对象
		//speak();
	}
    //构造代码块
	{
		System.out.println("wuwuwu…………");
	}
	void speak()
	{
		System.out.println("His name is "+this.name);
	}
}
class PersonConstructor
{
	public static void main(String[] args) 
	{
		//对象产生时,便执行构造函数,因而构造函数可为对象初始化
		Person p=new Person();
		Person p2=new Person("Tom");
		p2.speak();
	}
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值