1.3 普通类和抽象类的区别
- 普通类可以实例化调用;抽象类不可以被直接实例化(通过子类继承实例化,父类引用指向子类对象)
- 普通类不能有抽象方法
1.4 接口和抽象类的区别
- 实现: 类 extend ,接口 implement
- 构造函数: 类可以有多个,接口 不可以有
- 实现数量: 类单继承,接口多实现
- 访问修饰符: 抽象类中都可以,接口中默认使用public
1.5 String、StringBuffer和StringBuilder区别
1、长度是否可变
String 是被 final 修饰的,他的长度是不可变的
StringBuffer 和 StringBuilder 可变
2、执行效率
三者在执行速度方面的比较:StringBuilder > StringBuffer > String
3、应用场景
如果要操作少量的数据用 = String
单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
多线程操作字符串缓冲区 下操作大量数据 = StringBuffer
4、是否线程安全
String 和 StringBuffer是线程安全的 StringBuilder线程不安全
5、应用场景
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。
然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。