重载与重写的区别
重载:同一个类中,方法名必须相同,参数类型,个数,顺序不同;方法返回值和访问修饰符可以不同,发生在编译时
重写:针对子类继承父类,重写父类的方法 方法名和参数列表必须相同 重写的规则:返回值范围小于等于父类,访问修饰符的范围大于等于父类,抛出异常的范围小于等于父类
String,StringBuilder,StringBuffer的区别,String为什么不可变
String是不可变对象,一旦创建,值就不可以改变,使用final关键字,字符数组保存字符串,所以不可变,线程安全
StringBuffer是可变对象 线程安全
StringBuilder是可变对象 非线程安全
自动装箱和拆箱
自动装箱:将基本数据类型转化为对应的包装类
自动拆箱:将包装类转化为队友的基本数据类型
==与equals
== :基本数据类型:比较的是两个值的大小;引用数据类型:比较的是两个对象的内存地址是否相等
equals:比较的是两个对象是否相等,若没有重写该方法,比较的是地址值
final,finally,finalize的区别
Object类常见方法总结
11个方法
Java中异常处理
Throwable类
Exception和 Error
区别:Exception可以被程序处理,Error无法处理
Exception分为运行时异常(RuntimeException)和编译异常
运行时异常可以不处理,交给JVM处理(打印异常信息到控制台,中断程序)
编译时异常,必须处理 try…catch或者throws抛出
常用方法
finally不会被执行的情况
获取键盘输入的两种方法
1.Scanner 2.BufferedReader(高效字符缓冲输入流)
接口和抽象类的区别
接口只有抽象方法和常量,方法在接口中不能实现(貌似JDK1.7前)
抽象类中可以有非抽象方法
一个类可以实现多个接口,但只能实现一个抽象类