Java 构造函数及构造代码块

//仅作为学习笔记

class PersonDemo 
{
	public static void main(String[] args) 
	{
		Person p = new Person();


		p.setAge(20);

		System.out.println("---------------------");
		Person p2 = new Person("shaolong",21);
		System.out.println("---------------------");
		Person p3 = new Person("zhangyu");
		p3.getName();
		p3.setName("chang name");
		p3.getName();
	}
}


class Person
{

	private String name;

	private int age;

	Person(){
		System.out.println("A: name :" + name +" , Age:" + age);
		cry();
	}

	Person( String _name){
		name = _name;
		System.out.println("A: name :" + name +" , Age:" + age);
		cry();
	}
	
	Person(String _name , int _age){
		name = _name;
		age = _age;
		System.out.println("A: name :" + name +" , Age:" + age);
		cry();
	}

/*
	下面括号里面的是构造代码块
	作用: 给对象进行初始化
	对象一建立就运行 而且优于构造函数执行
	构造代码块是给所有对象进行统一初始化
	而构造函数是给对应的对象初始化

	构造代码块中定义的是不同对象共性的初始内容
*/

{
	System.out.println("++++++这部分便是构造代码块++++++++++");
}

	void cry(){
		System.out.println("Born and cry!");
	}


	public void setName( String _name){
		name = _name;
	}

	public void getName(){
		System.out.println("Name :" + name);
	}

	public void setAge( int _age){
		if( _age >= 0 && _age < 130 ){
			age = _age;
			speak();	
		}
		else
			System.out.println(" Age False");
	}

	public int getAge()
	{
		return age;
	}

	void speak(){
		System.out.println("Age = " + age);
	}
}


Java 构造函数及构造代码块_第1张图片


你可能感兴趣的:(Java 构造函数及构造代码块)