基础篇 - 02

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 类。

你可能感兴趣的:(基础篇 - 02)