1、JAVA中是否可以有静态构造函数?
不可以,JAVA中静态的东西都是属于类的,为类服务,构造函数是为了初始化对象,为对象服务。
2、静态方法中是否能够使用this?
不可以,在静态的方法中不能以任何形式引用this,因为this是默认的对象引用,静态方法被调用时,this所引用的对象并没有产生,this无所指向.
3、关于加载顺序
(1)、虚拟机在首次加载Java类时,会对静态初始化块、静态成员变量、静态方法进行一次初始化。
如果父类和子类中有static{...}静态代码块,加载类时(比如子类声明父类extends时父类会被加载,new一个实例化时)会先执行父类的static{...},在执行子类的static{...},然后在实例化类时才会去加载构造函数。
(2)、只有在调用new方法时才会创建类的实例。
(3)、类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法;再执行本类继承的(4)子类的初始化块,最后是子类的构造方法。
(5)、类实例销毁时候,首先销毁子类部分,再销毁父类部分。
4、如果类被标记为final,它的方法可以不标记为final
(1)、用final标记的变量,相当于常量,不能被再次赋值。
(2)、用final标记的方法,它不能够被子类overide,注:类的private方法会隐式地被指定为final方法。
(3)、某个类被final所修饰,那么表明这个的功能通常是完整的;该类将不能被继承。并且final类的所有方法都会被隐式的修饰成final。
(4)、匿名类中的所有变量都必须是final的