2018年java面试题大全(整理版).docx

2018年java面试题大全(整理版).docx

ID:57193096

大小:41.25 KB

页数:25页

时间:2020-08-05

2018年java面试题大全(整理版).docx_第1页
2018年java面试题大全(整理版).docx_第2页
2018年java面试题大全(整理版).docx_第3页
2018年java面试题大全(整理版).docx_第4页
2018年java面试题大全(整理版).docx_第5页
资源描述:

《2018年java面试题大全(整理版).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2018年java面试题大全(整理版)1、面向对象的特征有哪些方面?-抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。-继承:继承是从已有类得到继承信息创建新类的过程。提供继承的类叫父类(超类、基类)、得到继承的类叫子类(派生类)。-封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使

2、用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的事情)。-多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。实现多态需要做两件事:1).方法重写(子类继承父类并重写父类中的方法);2).对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)2、访问修饰符public,private,protected,以及不写(默认)时的区别?修饰符当前类同 包子 类其他包public√√√√protected√√√×default√√××privat

3、e√×××3、String是最基本的数据类型吗?答:不是。Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitivetype)和枚举类型(enumerationtype),剩下的都是引用类型(referencetype)。4、floatf=3.4;是否正确?答:不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换floatf=(float)3.4;或者写成float

4、f=3.4F;。5、shorts1=1;s1=s1+1;有错吗?shorts1=1;s1+=1;有错吗?答:对于shorts1=1;s1=s1+1;由于1是int类型,因此s1+1运算结果也是int型,需要强制转换类型才能赋值给short型。而shorts1=1;s1+=1;可以正确编译,因为s1+=1;相当于s1=(short)(s1+1);其中有隐含的强制类型转换。6、int和Integer有什么区别?答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对

5、应的包装类型(wrapperclass),int的包装类就是Integer,从Java5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。classAutoUnboxingTest{     publicstaticvoidmain(String[]args){        Integera=newInteger(3);        Integerb=3;                 //将3自动装箱成Integer类型        intc=3;        System.out.println(a==b);    //false两个引用没有引用同一对象  

6、      System.out.println(a==c);    //truea自动拆箱成int类型再和c比较    }}最近还遇到一个面试题,也是和自动装箱和拆箱有点关系的,代码如下所示:publicclassTest03{     publicstaticvoidmain(String[]args){        Integerf1=100,f2=100,f3=150,f4=150;         System.out.println(f1==f2);        System.out.println(f3==f4);    }}如果不明就里很容易认为两个输出

7、要么都是true要么都是false。首先需要注意的是f1、f2、f3、f4四个变量都是Integer对象引用,所以下面的==运算比较的不是值而是引用。装箱的本质是什么呢?当我们给一个Integer对象赋一个int值的时候,会调用Integer类的静态方法valueOfpublicstaticIntegervalueOf(inti){    if(i>=IntegerCache.low&&i<=IntegerCache.high)        returnIntegerCache.cache[i+(-Integer

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。