class Demo{
void Demo(){
}
class Demo2{
static Demo(){
}
你的方法体好像少了一个}括号,如果是你不小心没有打上去,
Demo类构造方法是没有返回值的!所以那个void可以省了。
你的静态代码块书写格式有错误。正确的格式是static{}
静态代码块
随着类的加载而执行,只执行一次,并优先于主函数,也优先于构造代码块。用于给类进行初始化。
构造函数
构造函数是在对象一建立就运行,给对象进行初始化。
构造代码块
构造代码块是在对象一建立就运行,而且优先于构造函数执行,用来定义不同对象共性的初始化内容。
构造代码块与构造函数区别:构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化。
总结:“静态代码块”优先于“构造代码块”优先于“构造函数” |