面向对象的特征(了解)
面向对象的特征:封装、继承、多态、抽象。
重载和重写的区别(必会)
面试官你好:
重载:他是在同一个类中的,并且他的方法名是必须相同的,而它的参数类型,个数,顺序有不同,方法返回
重写:他是在父子类中,方法名参数列表式必须相同的,且他的返回值范围和抛出的异常范围要小于等于父类,访问修饰符范围大于等于父类。
如果父类方法访问修饰符为private,那么子类就不能重写该方法
==和 equals 的区别(必会)
面试官你好:
首先:
==的作用分为两种类型:
第一种为:基本类型:就是比较值是否相同
第二种为:引用类型:就是比较地址值是否相同
equals的作用:
引用类型:默认情况下他比较的就是地址值是否相同
注意:String、Integer、Date等这些类库中equals被重写,那么比较就是内容而不是地址值
String、StringBuffer、StringBuilder 三者之间的区别(必会)
面试官你好:
String、StringBuffer、StringBuilder三者之间的区别主要试一下三点:
第一点:
可变性:
String类中他使用的是字符数组保存字符串,所以String对象他是不可变的
StringBuffer、StringBuilder这两种是可变的
线程安全性:
String的对象他是不可变的,可就可以理解为是常量,线程是安全的。
StringBuffer对方法中加了同步锁或者对调用方法加了同步锁,所以线程是安全的。
StringBuilder并没有对方法进行加同步锁,所以是非线程安全的
性能:
每次对String类型进行改变的时候,都会生成一个String对象,这时候空指针会指向新的String对象。
接口和抽象类的区别是什么?(必会)
面试官你好:
接口和抽象类的区别主要在一下几点
第一点:
实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接 口。
第二点:
构造函数:抽象类可以有构造函数;接口不能有。
第三点:
main 方法:抽象类可以有 main 方法,并且我们能运行它;接口不能有 main 方 法。
第四点:
实现数量:类可以实现很多个接口;但是只能继承一个抽象类。
第五点:
访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访 问修饰符