构造函数与构造代码块

class Student
{
	private String course;
	private String name;
	private double grade;
	public void setCourse(String course)
	{
		this.course=course;
	}
	public String getCourse()
	{
		return course;
	}
	public void setName(String name)
	{
		this.name=name;
	}
	public String getName()
	{
		return name;
	}
	public void setGrade(double grade)
	{
		this.grade=grade;
	}
	public double getGrade()
	{
		return grade;
	}
	{
		System.out.println("This class has past the examination!");
	}
	Student(String name,double grade,String course)
	{
		setName(name);
		setGrade(grade);
		setCourse(course);
		System.out.println(this.name+" got "+this.grade+" in "+this.course);
	}
}
class StudentDemo
{
	public static void main(String[] args) 
	{
		Student s = new Student("Tom",77.5,"math");
	}
}


以学生成绩Demo为例
执行后输出

构造函数和构造代码块的共性:

都是给对象进行初始化


构造函数和构造代码块的区别:


构造代码块中的代码可以给所有对象进行初始化,而对象调用不同的构造函数会执行不同的初始化代码
在代码执行顺序上构造代码块中的代码优先执行


针对构造代码块的这一特性,可将对象的共性初始化内容写在构造代码块中

猜你喜欢

转载自stella-518.iteye.com/blog/2249461