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

  • 接口只能用public和default(默认)修饰

  • 接口中的方法只有方法名和返回值,默认为public abstract,可以不写

  • 成员式内部类可以使用各种修饰符,可以把该内部类视作该类的一个特殊的变量,所以可以用各种修饰符包括 public、protected、private、static、final 和 abstract,也可以不写。

  • 非静态内部类不能声明静态变量。

  • 匿名内部类有两种,一种是实现接口的,一种是继承父类的,且都为final类

  • 构造方法不能用static、final修饰(.构造器不是通过继承得到的,所以没有必要把它声明为final的;构造器总是关联一个对象而被调用,所以把它声明为static是没有意义的)

插一个参考表格
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值