一、基本数据类型和封装类有什么区别
(更多面试题推荐:java面试题)
原始类型是类,引用类型是对象。
原始类型大小比较用"==",引用类型大小比较用"equals"。
引用类型可以被序列化,原始类型不行。
立即学习“Java免费学习笔记(深入)”;
在集合类中只能使用引用类型,不能使用原始类型。
基本数据类型不用new,封装类需要new。
基本数据参数传递是以值传递,封装类型是以地址传递的。
二、String、StringBuffer、StringBuilder三者之间的区别
String是字符串常量,StringBuffer、StringBuilder是字符串变量。
String创建的字符内容不可变(String底层char数组是final的),StringBuffer、StringBuilder的字符内容是可加长的。
StringBuffer是线程安全的,StringBuilder线程不安全的,但是速度快(因为它不会为线程安全消耗性能)。
三、String为什么不可变?
虽然String、StringBuffer和StringBuilder都是final类,它们生成的对象都是不可变的,而且它们内部也都是靠char数组实现的。
但是不同之处在于,String类中定义的char数组是final的,而StringBuffer和StringBuilder都是继承自AbstractStringBuilder类,它们的内部实现都是靠这个父类完成的,而这个父类中定义的char数组只是一个普通是私有变量,可以用append追加。
(相关教程推荐:java入门教程)
因为AbstractStringBuilder实现了Appendable接口。
四、运行时异常和非运行时异常的区别
运行时异常是运行时报错:比如ClassCastException(类转换异常)、IndexOutOfBoundsException(数组越界)、NullPointerException(空指针)、ArrayStoreException(数据存储异常,操作数组时类型不一致)、IO操作的BufferOverflowException异常。
(视频教程推荐:java视频教程)
非运行时异常是还未运行可见的错误,可以用try、catch捕获异常。
五、简述一下面向对象的特征,并举例说明你对面向对象的理解
面向对象的特征归结为封装继承多态,把现实世界的事物的属性、行为特征抽象出来放到一个容器里(类),比如人类,人的走、听、吃、说等动作可以归结为类里的方法,但又是人类的共同点,人有身高、体重归结为类里的属性。
封装:就是设计者把不愿意透露给使用者的那部分代码就是封装过的,通过修饰词private(权限最小)、public(权限最大)、protected、default(属性前默认为该类型),这些才能起到限制类对象权限的作用。
继承:子类继承父类的过程,继承者可以拥有父类全部方法属性。好处是提高代码复用性,子类只需要写特有的功能或者字段可以把公共的代码抽出到父类里面。
多态:通过父类统一子类方法属性,然后通过调用,可以任意使用子类方法,优化代码量,原理是子类对父类方法进行重写。
以上就是多年开发经验总结的Java面试题——(一)的详细内容,更多请关注慧达安全导航其它相关文章!
免责 声明
1、本网站名称:慧达安全导航
2、本站永久网址:https//www.huida178.com/
3、本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
4、本站所有资源的属示图片和信息不代表本站的立场!本站只是储蓄平台及搬运
5、下载者禁止在服务器和虚拟机下进行搭建运营,本站所有资源不支持联网运行!只允许调试,参考和研究!!!!
6、未经原版权作者许可禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
7、为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
8.若资源侵犯了您的合法权益,请持 您的版权证书和相关原作品信息来信通知我们!QQ:1247526623我们会及时删除,给您带来的不便,我们深表歉意!
9、如下载链接失效、广告或者压缩包问题请联系站长处理
10、如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
11、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需
12、因源码具有可复制性,一经赞助,不得以任何形式退款。
13、本文内容由网友自发贡献和站长收集,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系1247526623@qq.com
转载请注明出处: 慧达安全导航 » 多年开发经验总结的Java面试题——(一)
发表评论 取消回复