JAVA中关于静态、final那点事

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的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值