构造函数和构造代码块

/**构造函数
 * 特点:
 * 1.函数名与类名相同
 * 2.不用定义返回值类型
 * 3.不可以写return语句
 * 作用:
 * 给对象进行初始化
 * 注意:
 * 1.默认构造函数的特点
 * 2.多个构造函数是以重载的形式存在的
 */
package com.zwj;
/**
 *对象一建立就会调用与之对应的构造函数。
 *构造函数的作用:可以用于给对象进行初始化。
 *
 *构造函数小细节:
 *当一个类中没有定义构造函数的时候,那么系统会默认给该类加入一个空参数的构造函数。
 *
 *当在类中自定义了构造函数后,默认的构造函数就没有了。
 *
 *构造函数和一般函数在写法上有不同
 *
 *在运行上也有不同、
 *构造函数是在对象一建立就运行,给对象初始化。
 *而一般方法是对象调用才执行,给对象添加对象需要具备的功能。
 *
 *一个对象建立,构造函数只运行一次。
 *而一般方法可以被该对象调用多次。
 *
 *什么时候定义构造函数?
 *当分析事物时,该事物本身就存在一些特性或者行为,那么就将这些内容定义在构造函数中。
 *如果需要未知内容参与运算,则根据实际情况带入参数。
 */
public class GoZao {
	public static void main(String[] args) {
		People p1 = new People();
		People p2 = new People("帝喾");
		p2.setName("p2改名为码农");
		System.out.println(p2.getName());
		People p3 = new People("大神",23);
	}
}

class People{
	private String name;
	private int age;
	
	/**
	 * 构造代码块
	 * 作用:给对象进行初始化。
	 * 对象一建立就运行,而且优先于构造函数执行。
	 * 构造代码块是给所有对象进行统一的初始化。
	 * 而构造函数是给对应的对象初始化。
	 * 
	 * 构造代码块中定义的是不同对象的共性的初始化内容。
	 */
	{
		System.out.println("出生了~~~~~");
		cry();
	}
	People(){
		System.out.println("A:name="+name+",age="+age);
		//cry();		所有的孩子出生后都会先哭,所以定义在构造代码块里
	}
	People(String n){
		name = n;
		System.out.println("B:name="+name+",age="+age);
		//cry();
	}
	People(String n,int a){
		name = n;
		age = a;
		System.out.println("B:name="+name+",age="+age);
		//cry();
	}
	public void cry(){
		System.out.println("哭~~");
	}
	public void setName(String n){
		name = n;
	}
	public String getName(){
		return name;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值