1)Java包含哪些数据类型?
①基本数据类型
②引用数据类型
类(Class)、接口(Interface)、数组
2)Object类包含的方法?
Object是所有类的基类,常用的方法有
equals(Object obj)
getClass()
hashCode()
notify()
notifyAll()
toString()
wait()
3)String/StringBuffer/StringBuilder的区别?
共同点:修饰字符串,被final修饰,不可集成。
区别:String是字符串常量,一旦创建,值不可改变。
StringBuffer和StringBuilder是字符串变量,通过append()和insert()改变字符串的内容,不会生成新的对象。
StringBuffer中的方法被synchronized修饰,是线程安全的,适用于多线程,效率较低;
StringBuilder是线程非安全的,适用于单线程,效率较高;
4)谈谈面向对象的三大特征和六个基本原则?
特征:封装、继承、多态
原则:单一职责是一个只负责某一项职责;
理氏置换是指子类可以扩展父类的功能,但不能改变父类的功能;
依赖倒置是指高层模块不应该依赖底层模块,都尽量依赖接口;
接口隔离是指依赖的接口最小化,接口职责明确;
迪米特法则是指类与类之间尽可能的减少依赖,高内聚,低耦合;
开闭原则是指实体类、模块或者函数对修改关闭,对扩展开放;