2023年java面试题大全(整理版).docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2023年java面试题大全(整理版) 1、 面对对象的特征有哪些方面? ?抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两 方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细微环节是什么。 -继承继承是从已有类得到继承信息创建新类的过程。供应继承的类叫父类(超类、基类)、 得到继承的类叫子类(派生类)。 -封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义 的接口。可以说,封装就是隐藏一切可隐職的东西,只向外界供应最简洁的编程接口(可以 想想一般洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简洁; 我们现在运用的智能手机也是封装得足够好的,因为几个按键就搞定了全部的事情)。 -多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简洁的说就是用 同样的对象弓I用调用同样的方法但是做了不同的事情。实现多态须要做两件事:1).方法重 写(子类继承父类并重写父类中的方法);2).对象造型(用父类型弓I用弓I用子类型对象, 这样同样的引用调用同样的方法就会依据子类对象的不同而表现出不同的行为) 2、 访问修饰符public.private.protected.UI及不写(默认)时的区分? 修饰符 当前类 同包 子类 其他包 public protected V V V X default V V X X private V X X X 修饰符 当前类 同包 子类 其他包 3、 String是最基本的数据类型吗? 答:不是o Java中的基本数据类型只有8个:byte、short、int、long、float、double, char、boolean ;除了基本类型(primitive type )和枚举类型(enumeration type ), 剩下的都是引用类型(reference type ) ° 4、 float f= 3.4;是否正确? 答:不正确。3.4是双精度数,将双精度型(double )赋值给浮点型(float)属于下转型 (down-casting,也称为窄化层造成精度损失因此须要强制类型转换float f =(float)3.4; 或者写成 float f=3.4F;o 5、 short si = 1; si = si + 1;有错吗?short si = 1; si += 1;有错吗? 答:对于short si = 1; si = si + 1;由于1是int类型,因此sl+1运算结果也是int型, 须要强制转换类型才能赋值给short型。而short si = 1; si += 1;可以正确编译因为sl+ = 1;相当于si = (short)(sl + 1);其中有隐含的强制类型转换。 6、 int和Integer有什么区分? 答:Java是一个近乎纯净的面对对象编程语言,但是为了编程的便利还是引入了基本数据 类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引 入了对应的包装类型(wrapper class ) , int的包装类就是Integer,从Java 5起先引入 了自动装箱/拆箱机制,使得二者可以相互转换。 class AutoUnboxingTest { public static void main(String[] args) { Integer a = new Integer(3); Integer b = 3; 〃将3自动装箱成Integer类型 int c = 3; System.out.println(a == b); // false两个引用没有引用同一对象 System.out.println(a == c); // true a 自动拆箱成 int 类型再和 c 比较 最近还遇到一个面试题,也是和自动装箱和拆箱有点关系的,代码如下所示: public class Test03 { public static void main(String[] args) { Integer fl = 100, f2 = 100,千3 = 150, f4 = 150; System.out.println(f1 == f2); System.out.println(f3 == f4); ) ) 假如不明就里很简洁认为两个输出要么都是true要么都是false。首先须要留意的是fl、f2、 f3、f4四个变量都是Integer对象引用,所以下面的==运算比较的不是值而是引用。装箱 的本质是什么呢?当我们给一个Integer对象赋一个int值的时候,会调用Integer类的静 态方法valueOf public static Integer valueOf(int i)

文档评论(0)

升升1962 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档