面向对象(final和抽象类)
一、final关键字
final是最终的意思,修饰最终不变的变量和方法
-
final修饰的变量是常量
-
成员变量用final修饰必须给最终的字面值,不能只声明
-
常量都用全大写(开发规范)
-
final实际开发通常去设置参数配置等信息
-
数学中的常数通常用final修饰,如3.14
-
-
final修饰方法不能被重写覆盖
-
final修饰的类不能继承没有子类
String类是一种引用数据类型,同时被final修饰
tip:final修饰变量时,不变的是内存地址,存放在其中的数据可以改变
二、抽象类
很多时候,我们写父类的成员方法都不写方法体,由子类继承以后重写
所以我们可以把父类的方法抽象化。
类
语法:在class关键字前使用关键字abstract
public abstract class Person{ }
方法
比起普通类,抽象类类体中多了抽象成员方法
语法:在返回值之前加上abstract关键字,抽象方法没有方法体
public abstract void eat( );
特点
抽象类是比普通类多出抽象成员方法,所以也有成员方法,而且有抽象方法的,一定是抽象类
有抽象方法的类不能直接创建对象,本来就是因为不实例化只让子类继承重写的,自然不能创建对象
没有抽象方法的普通类,必须重写父类所有的抽象方法
抽象类不用重写父类的抽象方法,因为抽象方法不写方法体,而重写是改变方法体,所以抽象类重写抽象方法无意义
抽象类有构造函数的,创建子类仍然会创建父类对象
abstract不能修饰成员变量
总结:如果父类不用创建对象,可以写成抽象类
三、访问修饰符
修饰词 含义解释 访问权限
private 私有的 当前类
default 不写默认default 同包
protected 受保护的 只有继承的才可以
public 公开的 无限制,任何地方都可以访问
这些修饰词可以修饰 类 成员变量 成员方法
类和方法一般用public,内部类才可以用protected和private修饰
成员变量 一般用private修饰

浙公网安备 33010602011771号