一、类级别
1.类可以被final修饰,被修饰后将不支持继承
2.抽象类不可以被final修饰
3.接口类不可以被final修饰
二、属性级别
类、抽象类:
1.属性被final修饰,必须按照下面"一条"去做,才允许使用
1.1.在定义的时候赋值( public final String name = “bbb”😉
1.2.如果在构造函数中赋值,则必须在 “所有” 构造函数中赋值
public Animal() {
name = “aaa”;
}
2.父类被final修饰的属性,继承之后,只允许获取,不允许修改
接口类:
1.只允许添加final修饰的属性(接口中的所有属性都默认被final修饰了;
接口中的属性不需要加final关键字,但是达到了加上final关键字相同效果)
三、方法级别
类、抽象类:
1.父类的方法被修饰之后,不允许子类重写(在子类中不允许出现与父类final修饰的,方法体相同的方法)
接口类:
1.方法不允许被final修饰
四、总结
通过遍历的方式,定好边界来思考final关键字,相当于站到了宏观的角度;通过小事情来培养自己从宏观入手到微观验证这样的意识;喜欢这样的学习力的提升和思考。