欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

day01面试题java基础

时间:2023-08-09
1.什么是面向对象

1)面向对象和面向过程是处理问题的不同角度,面向过程注重事情的执行过程和顺序,而面向对象是注重事情的参与者以及参与者所负责功能

2)面向过程开发,简洁高效,面向对象开发,方便复用和后期维护

3)面向对象的三大特点

封装:封装的意义在于明确标识出允许外部访问的所有成员函数和数据项

内部细节对外部调用透明,外部调用无需修改和关心内部实现

1.javabean:javabean属性私用,提供getset对外访问

2.orm框架:操作数据库时,我们不需要知道如何建立连接,sql如何执行,只需要引入mybatis,调用方法即可

继承:继承父类的方法,子类作出自己的改变和拓展

子类自己使用的方法和属性直接继承父类的,而不需要自己再定义,只需要拓展自己的

多态:基于对象所属类的不同,外部对同一个方法的调用,实际的执行逻辑不同

多态存在的必要条件:继承,重写,父类指向子类对象

2.==和equals比较

==对比的是栈中的值,基本数据类型,即比较的是值,引用类型比较的堆中的地址

equals:object中默认是==,但是通常会被重写

比如string类 比较是字符串的内容

3.final

修饰类:表示类不可被继承

修饰方法:表示方法不能被重写,但是可以被重载

修饰变量:若是基本数据类型,一但被赋值,就不能被修改

若是引用类型,初始化之后就不能指向其他对象,但是引用的值是可以改变的

4.string,stringbuider,stringbuffer

String是final修饰的,不可变,每次操作都会产生新的String对象

stringbuilder和stringbuffer都是在原对象的基础上进行操作的

stringbuffer是线程安全的,方法都是synchronized修饰的

stringbuilder是线程不安全的,

性能上,

stringbuilder>stringbuffer>string

5.重载和重写的区别

重载:是发生在同一个类中,方法名必须相同,参数类型不同,参数个数不同,顺序不同,方法返回值和访问修饰符可以不同,发生在编译时,

重写:发生在父子类中,方法名必须相同,参数类型相同,返回值范围小于父类,抛出异常范围小于父类,访问修饰符大于父类,如果父类方法使用private修饰,子类不能对该方法进行重写

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。