Java基础
数据类型¶
String类¶
String类能否被继承:
不能被继承,因为String类有final修饰符,被final修饰的类是不能被继承的
final修饰的特点:
- 修饰类:不可被继承,是最终类
- 修饰方法:该方法不能被子类重写覆盖
- 修饰变量:
- 修饰基本类型变量:初始化后不能被修改,称为常量
- 修饰引用类型变量:初始化后不能再让其指向另一个对象,但是内容可以被修改
String底层使用的是char数组还是byte数组:
jdk 1.8 之前,底层使用char类型数组
jdk 1.9 之后,底层使用byte类型数组
因为发现人们使用的字符串值是拉丁字符居多,只需要一个字节就可以存储
类加载顺序¶
- 首先加载父类的静态内容:静态字段、静态语句块
- 子类的静态字段、静态语句块
- 父类的普通变量和语句块
- 父类的构造方法
- 子类的变量初始化、语句块
- 子类的构造方法
面向对象特性¶
四大特性:
-
封装:保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚、低耦合”
-
提高代码的复用性
-
隐藏了实现细节,提供api;提高了安全性
-
继承:在一个现有类的基础上,构建一个新的类,构建的新的类被称为子类
-
提高代码的复用性
- 让类与类之间产生了关系,多态的前提
缺点:类和类之间产生了耦合,不符合OOP开发原则
- 多态:同一个行为具有多种不同的形态
使用多态的三个前提:
- 语法上:父类引用指向子类对象
- 必须有继承或者实现关系
-
必须有方法的重写
-
抽象