Java面试题自我总结1

什么是面向对象

  面向对象注重事情的每个步骤和顺序,与面向过程相比,面向对象更注重事情有哪些参与者(对象),即各自需要做什么

面向对象分为封装,继承,和多态

封装:内部细节对外部调用透明,外部调用无需修改或者关系内部实现

有两个经典 的封装场景,JavaBean的属性私有,提供getset对外访问,以及orm框架,不需要关心链接如何建立,只需要引入mybatis,调用方法即可

继承:继承基类的方法,并作出自己的改变或者扩展

多态:基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同,方法重写,父类引用指向子类对象。

jdk,jre,jvm三者区别和联系

jdk:Java开发工具

jre:Java运行时环境

jvm: Java虚拟机

jdk包含jre,jre又包含jvm

==和equals

==对比的是栈中的值,基本数据类型是变量值,引用类型是堆中内存对象的地址

equals:object中默认也是采用==比较,但是,equals通常会重写,在string中重写的equals()方法比较的是两个字符串的内容

简述final作用

修饰类表示类不可被继承

修饰方法表示方法不可被子类覆盖,但是可以重载

修饰变量表示变量一旦被复制就不能更改值

修饰成员变量可以在非静态初始化块中,声明该变量或者构造器中执行初始值.

修饰局部变量可以在定义时指定默认值

为什么局部内部类和匿名内部类只能访问局部final变量

为了保证内部类的成员变量和方法的局部变量的一致性,使局部变量与内部类内建立的拷贝保持一致

string,stringBuffer,stringBuilder区别和使用场景

string是final修饰的不可变

stringBuffer和stringBuilder都是在原对象上操作

stringBuffer是线程安全的,stringBuilder线程不安全

stringBuffer方法都是synchronized修饰的

经常需要改变字符串内容时使用后两个,多线程使用共享变量时使用stringBuffer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值