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为例
执行后输出
构造函数和构造代码块的共性:
都是给对象进行初始化
构造函数和构造代码块的区别:
构造代码块中的代码可以给所有对象进行初始化,而对象调用不同的构造函数会执行不同的初始化代码
在代码执行顺序上构造代码块中的代码优先执行
针对构造代码块的这一特性,可将对象的共性初始化内容写在构造代码块中