1.String类为什么不可变,有没有什么方式使String可变
1.因为String类使用final修饰
2.String底层维护的是char数组 此数组使用private修饰
2.String底层维护的是char数组 此数组使用final修饰
有 使用反射可以修改字符串内容
2.String,StringBuffer和StringBuilder的区别
String是不可变对象
StringBuffer和 StringBuilder是可变字符串对象
StringBuffer是线程安全的 StringBuilder是线程不安全
3.int,long,char,short包装类使用==比较的特点
如果直接使用等号赋值 取值范围在byte以内 相同取值的多个对象==为true
如果不再byte范围以内 多个对象==比较为false
4.写出你所知道的日期相关类
Date
Calendar
LocalDate
LocalTime
LocalDateTime
SimpleDateFormat
5.写出你知道的异常以及异常出现的原因
InputMismatchException
ArrayIndexOutOfBoundsException
NullPointerException
ClassCastException
NumberFormatException
ArithmeticException
IOException
SQLException
6.什么时候使用接口,什么时候使用抽象类
当你关注事物的本质 使用抽象类
当你关注某个功能 使用接口
7.描述多态以及向上向下转型
向上转型:父类引用指向子类对象 此时可以访问子类重写 或者 继承父类的方法 不能
访问子类独有的方法
向下转型:将指向子类对象的父类引用 强制转换为子类类型 可以访问子类独有的方法
8.instanceof关键字的作用
判断左侧的对象是否属于右侧的类型
9.final、finally、finalize的区别?
final表示关键字 修饰属性 方法 类
finally用于处理异常 表示任何情况都执行的代码
finalize属于Object类中的方法 表示当前对象被垃圾回收将自动调用此方法