this、static、final关键字与四大修饰符常见盲区

看了一下其他的博客,关于这个知识点列举的很详细,但大部分看起来还都是初学者的理解,只是把一些常见概念和用法罗列上去。

下面我也总结了一些常见知识点,以便大家写程序或者做面试题、考试题的时候少走一些弯路。

  • this关键字不能在static方法中使用(static是跟随类一起加载的,而this指向实例化对象的某个变量或方法,前提是被实例化,所以this作用域与static不同,也就不能使用)

  • final变量如果是基本类型则初始化后不可以改变,但如果是引用类型,引用类的值可以改变(不要以为final后就完全不可变了)

  • 局部变量不能用private、protected、static等修饰,并且没有必要

  • class不能用protected、private修饰(private后,那么该类不能被访问,也就没意义了,假如protected修饰后,是所在的包的子类可以访问,由于包没有子类,所以也没有意义)

  • 如果类没有修饰符,默认为default,作用域为当前类和包,class只有两种修饰符,default和public

  • interface不能用private、protected、static修饰,也不能用synchronized修饰

  • 接口中成员变量默认为public static final

插一个参考表格
this、static、final关键字与四大修饰符常见盲区