1.首先在任何一个类中,一般来说一定存在着构造方法,即使什么也没写,那就说明类中默认是无参的构造方法,例如
public class Student{
private int age;
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
public void show(){
System.out.println("学生爱学习");
}
}
这是一个完整的类,包括成员属性,还有成员方法,同时还包括了构造方法,此时的构造方法时隐式无参的,是可以进行初始化的,但是如果一个类中有如下的内容
public class Studeng{
private int age;
static{
System.out.println("这是静态代码块");
}
Student(){
System.out.println("这是构造代码块");
}
public Student(int age){
this.age=age;
System.out.println("这是有参的构造方法")
}
}//一般来说。构造方法是用来初始化的,一般每产生一个新的对象便会执行一次,但是执行有参的操作要看具体的情况,但是每次有且只能执行一个,但是构造代码块,也是每次产生新类的时候就执行一次,但是是一定要执行,且不能进行重载,静态代码块,只有当类加载的时候,只能执行一次,当程序中没有写构造方法时,默认是 无参的,但是当没有显示的写出静态代码块和构造代码块是没有默认的,也就是静态代码块和构造代码块在程序中是可以省略的,(一个程序中可以同时存在几个静态代码块)
实例:
public class TestDemo{
public static void main(String[] args){
Student student=new Student();
System.out.println("---------------------------------------------------------------------------");
Student student2=new Student();
System.out.println("-----------------------------------------------------------------------------");
Student student3=new Student(18);
}
}
//最后的执行结果就是 这是静态代码块
这是构造代码块
这是无参构造方法
-----------------------------------------------------------------------------
这是构造代码块
这是无参构造方法
-----------------------------------------------------------------------------
这是构造代码块
这是有参的构造方法