静态,构造方法和super

来源:互联网 发布:经传全套公式源码 编辑:程序博客网 时间:2024/04/30 16:21

构造方法的作用就是对类进行初始化,new一个对象要用到构造方法。默认会有个与类名同名的无参的构造方法。但是当有构造方法时默认的构造方法不会被加上!!!

静态有静态变量,静态方法,静态代码块等。静态变量与静态方法都是通过类名.变量名或者方法名来调用执行的。而静态代码块是自动执行的,静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所引用的对象根本没有产生。

总结:
对象的初始化顺序:首先执行父类静态的内容,父类静态的内容执行完毕后,接着去执行子类的静态的内容,当子类的静态内容执行完毕之后,再去看父类有没有非静态代码块,如果有就执行父类的非静态代码块,父类的非静态代码块执行完毕,接着执行父类的构造方法;父类的构造方法执行完毕之后,它接着去看子类有没有非静态代码块,如果有就执行子类的非静态代码块。子类的非静态代码块执行完毕再去执行子类的构造方法。总之一句话,静态代码块内容先执行,接着执行父类非静态代码块和构造方法,然后执行子类非静态代码块和构造方法。

注意:子类的构造方法,不管这个构造方法带不带参数,默认的它都会先去寻找父类的不带参数的构造方法。如果父类没有不带参数的构造方法,那么子类必须用supper关键子来调用父类带参数的构造方法,否则编译不能通过。


原创粉丝点击