【JAVA面试题-基础篇(七)】

两个对象的hashCode()相同,则equals()也一定相同

不对,两个对象的hashCode()相同,equals()不一定是true
hashCode()只是计算对象属性的哈希值,有可能属性不一致,但是刚好哈希值一样,发生哈希碰撞,比如5+2=7,4+3=7,但是这两个7并不是同一个7

String类的常用方法

lenth():求字符串的长度
indexOf():求某个字符在字符串中的位置
charAt():求一个字符串中某个位置的值
equals():比较两个字符串是否相同
replace():将字符串中某些字符用别的字符替换掉。形如replace(“abc”,“ddd”)字符串中的abc将会被ddd替换掉
split():根据给定正则表达式的匹配拆分次字符串
subString():输出一个新的字符串,它是次字符串中的字串,形如substring(3,7);它将字符串中的第四个第五个第六个输出。
trim():将字符串开头空白(空格)和尾部的空白去掉。

Object类中常用方法

hashCode():计算对象成员的哈希值
equals():判断对象是否相等
clone():对对象进行clone
getClass():获取对象的Class字节码文件对象
wait():线程阻塞,线程挂起等待
notify(),norifyAll():线程唤醒,线程就绪,继续运行
toString():获取对象的信息,一般重写,默认返回地址值

多态以及多态的好处

多态:态性是指运行不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。
实现过程:
1.存在继承关系
2.子类重写父类的方法
3.子类对象赋予父类对象引用
4.调用重写后的方法(同一个父类应用因为保存的子类对象不同调用同一个方法的时候,出现不同的结果)
主要有以下优点:
1.可替换性:多态对已存在代码具有可替代性
2.可扩充性:增加新的子类不影响已经存在的类结构
3.接口性:多态是超类通过方法签名,由子类完善或者重写它来实现的。
4.灵活性
5.简化性

重载(Overlord)和重写(Override)的区别

重载:在同一类中,方法名称相同,参数列表不同(参数类型、参数个数、参数名称),与返回值无关,称之为重载。
重写:子类中存在与父类中方法声明完全相同的方法,称之为方法重写
方法重载只与方法名称和参数列表相关,与返回值无关,不能通过返回值类型区分。

Java中的异常继承体系

Throwable类是所有异常或错误的超类,它有两个子类:Error和Exception,分别表示错误和异常。
其中,异常Exception分为运行时异常(RuntimeException)和编译时异常。
Error:一般是指Java虚拟机相关问题,如系统崩溃、虚拟机出错误、动态链接失败等,这种错误无法恢复或不可能捕获,将导致应用程序中断,通常应用程序无法处理这些错误
Exception异常又分为两种:
Exception:编译时异常,如果异常不出理,则代码无法编译。
RuntimeException:运行时异常,运行时发生,无需处理,对代码进行修改解决问题。

Java中常见的运行时异常

1.NullPointerException:空指针异常,调用了未经初始化的对象或者是不存在的对象。
2.ClassNotFoundException:指定的类不存在
3.ArrayIndexOutOfBoundsException:数组下标越界异常
4.NoSuchMethodException:方法不存在错误。
5.FileNotFoundException:文件未找到异常,进行IO操作时,访问的文件不存在。
运行时异常的直接父类是RuntimeException,而所有的编译异常的直接父类都是Exception。

异常的解决方式(2种)

1.throws:throws来告知调用程序此方法可能会抛出异常,但不会处理
2.try-catch:try-catch块捕获处理异常

throws和throw的区别

throw语句在方法体内,表示该方法有异常对象,有方法体内的语句处理。
throws语句用在方法声明后面,表示该方法有异常抛出,由该放的调用者来处理。

Java何时进行类的加载

在第一次使用类的时候进行加载类信息(包括:创建对象、调用静态方法、反射类信息,创建其子类对象等)
类加载的顺序
1.父类静态代码块
2.子类静态代码块
3.父类构造代码块
4.父类构造方法
5.子类构造代码块
6.子类构造方法

父类的静态方法能否被子类重写

不能。重写只适用于实例方法,不能用于静态方法,而子类当中含有和父类相同签名的静态方法,我们一般称之为隐藏。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值