前几天学过方法重写,也就是说,一个类继承至父类,子类可以将父类的方法重写。 但有的时候父类的方法要求固定,不能被更改。 该怎么办? 这就得学到一个新的修饰符了。 一、final修饰符final,翻译成中文就是“不可更改的 ”。 顾名思义,它是一个修饰符,用于修改不可更改的内容。
1.修饰类和方法 ①final修饰类,类不能被继承。 既然不能被继承,那final类里的方法也无法被重写。 ②final修饰方法,方法不能被重写。 非final类中,也可以存着final方法。 注:其中final方法是可以被重载的(同名不同参) 2.修饰局部变量 ③用final修饰基本数据类型局部变量。 只能赋值一次,不能再更改了,编译会报错。 基本数据类型不能更改的是值。 ④用final修饰引用数据类型局部变量。 只能创建对象一次,不能再次创建对象,编译会报错。 引用数据类型不能更改的是对象的地址。 该对象的值是可以通过对应的setXXX()方法更改的。 3.修饰成员变量 成员变量和局部变量有一个区别在于: 成员变量是有默认值的。 所以用final修饰成员变量,它就不再有默认值了,必须一步直接赋值 。 初始化方式有两种,只能二选一: ⑤直接初始化赋值。 ⑥构造方法赋值。 注意:用setXXX()方法无法赋值。 二、权限修饰符public这个关键字太常见了,它就是一个权限修饰符。 在Java语言里面有四种权限修饰符。 其实看字面意思也蛮好理解的: ①public:公共的。
②protected:受保护的。
③default:默认的。
④private:私有的。
权限是从大到小的: public > protect >default>private 三、abstract和static修饰符修饰符除了权限修饰符和final修饰符,常见的还有abstract和static修饰符。 这两个关键字前面都学过,做一个回顾: 1.abstact修饰类 表明这是一个抽象类。 抽象类不能创建对象生成实例,需要使用子类实例化 2.abstact修饰方法 表明这是一个抽象方法,只有方法名,没有方法体。 需要子类重写。 3.static修饰方法 静态方法只能访问静态变量。 静态方法可以用类名直接调用。 4.static修饰变量 也可称为类变量,局部变量不能被static修饰。 也可以用类名直接调用。 5.static修饰代码块 随着类的加载而加载一次,相当于初始化赋值。 总结: |
|
来自: 刘小爱v > 《Java学习笔记》