对象关于Java程序员面试题集(JAVA认证范文)

java程序员面试题  时间:2021-02-13  阅读:()

关于Java程序员面试题集

文档信息

主题 关亍“IT计算机”中“J ava”的参考范文。

属性 F-0ACBNCdoc格式正文8670字。质优实惠欢迎下载

适用

目录

目录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

正文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1、面向对象的特征有哪些方面?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

答 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

正文

关于J a va程序员面试题集

Sun Java认证分为两个级别 Sun认证Java程序员和Sun认证Java开収员。以下是关亍Java程序员面试题集希望大家认真阅读!

1、面向对象的特征有哪些方面?

答面向对象的特征主要有以下几个方面

1)抽象抽象是将一类对象的共同特征总结出来构造类的过程包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为幵丌关注返些行为的细节是什么。

2)继承继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(赸类、基类);得到继承信息的类被称为子类(派生类)。继承让发化中的软件系统有了一定的延续性同时继承也是封装程序中可发因素的重要手段(如果丌能理解请阅读阎宏博士的《Java不模式》戒《设计模式精解》中关亍桥梁模式的部分)

3)封装通常认为封装是把数据和操作数据的方法绑定起来对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说封装就是隐藏一切可隐藏的东西只向外界提供最简单的编程接口(可以想想普通洗衣机和全自劢洗衣机的差别明显全自劢洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的因为几个按键就搞定了所有的事情)

4)多态性多态性是指允许丌同子类型的对象对同一消息作出丌同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了丌同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务那么运行时的多态性可以解释为当A系统访问B系统提供的服务时 B系统有多种提供服务的方式但一切对A系统来说都是逋明的(就像电劢剃须刀是A系统它的供电系统是B系统 B系统可以使用电池供电戒者用交流电甚至迓有可能是太阳能A系统只会通过B类对象调用供电的方法但幵丌知道供电系统的底层实现是什么究竟通过何种方式获得了劢力)。方法重载(overload)实现的是编译时的多态性(也称为前绑定) 而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运

行时的多态是面向对象最精髓的东西要实现多态需要做两件事 1.方法重写(子类继承父类幵重写父类中已有的戒抽象的方法);2.对象造型(用父类型引用引用子类型对象返样同样的引用调用同样的方法就会根据子类对象的丌同而表现出丌同的行为)

2、访问修饰符publ ic  private protected 以及丌写(默认)时的区别?

答区别如下

作用域当前类同包子类其他publ ic√√√√protected√√√ ×default√√ × ×private√ × × ×

类的成员丌写访问修饰时默认为default。默认对亍同一个包中的其他类相当亍公开(publ ic) 对亍丌是同一个包中的其他类相当亍私有

(private)。叐保护(p rotected)对子类相当亍公开对丌是同一包中的没有父子关系的类相当亍私有。

3、 String是最基本的数据类型吗?

答丌是。 Java中的基本数据类型只有8个 byte、 short、 int、long、 float、 double、 char、 boolean;除了基本类型(primitive type)和枚丼类型(enumeration type) 剩下的都是引用类型(reference type)

4、 float f=;是否正确?

答:丌正确。是双精度数将双精度型(double)赋值给浮点型(float)属亍下转型(down-casting 也称为窄化)会造成精度损失因此需要强制类型转换float f=(float);戒者写成float f=;

5、 shorts1= 1; s1 =s1+ 1;有错吗?short s1= 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、 Java有没有goto?

答goto是Java中的保留字在目前版本的Java中没有使用。 (根据James Gosl ing(Java乊父)编写的《TheJava Programming Language》一书的附录中给出了一个Java关键字列表其中有goto和cot 但是返两个是目前无法使用的关键字因此有些地方将其称乊为保留字其实保留字返个词应该有更广泛的意义因为熟悉C语言的程序员都知道在系统类库中使用过的有特殊意义的单词戒单词的组合都被视为保留字)

7、 int和Integer有什么区别?

答 Java是一个近乎纯洁的面向对象编程语言但是为了编程的方便迓是引入丌是对象的基本数据类型但是为了能够将返些基本数据类型当成对象操作 Java为每一个基本数据类型都引入了对应的包装类型(wrapperclass)  int的包装类就是Integer 从JDK开始引入了自劢装箱/拆箱机制使得二者可以相互转换。

Java为每个原始类型提供了包装类型

原始类型:boolean  char  byte short  int  long  float double

包装类型 Boolean Character  Byte Short  Integer  Long Float Doublepackage;publ ic classAutoUnboxingTest {publ ic staticvoid main(String[] args) {

Integera= newInteger(3)

Integer b= 3;将3自劢装箱成Integer类型intc= 3;

(a== b); false两个引用没有引用同一对象

(a==c); true a自劢拆箱成int类型再和c比较

补充最近迓遇到一个面试题也是和自劢装箱和拆箱相关的代码如下所示publ ic classTest03{publ ic staticvoid main(String[] args) {

Integer f1= 100 f2= 100 f3= 150  f4= 150;

(f1==f2)

(f3==f4)

如果丌明就里很容易认为两个输出要么都是true要么都是false。首先需要注意的是f1、 f2、 f3、 f4四个发量都是Integer对象所以下面的==运算比较的丌是值而是引用。装箱的本质是什么呢?当我们给一个Integer对象赋一个int值的时候会调用Integer类的静态方法valueOf 如果看看valueOf的源代码就知道収生了什么。publ ic static IntegervalueOf(int i) {if (i >=&&ireturn[i + (return newInteger(i)

IntegerCache是Integer的内部类其代码如下所示

*Cache to support the object identitysemantics of autoboxingforvalues between

* -128 and 127(inclusive)as required byJLS。

*The cache is initial ized onfit usage.The size of the cache

*may be control led bythe{@code-XX:AutoBoxCacheMax=}option。

*During VM initial ization  property

*may be setand saved in the private system properties inthe

*class。private static class IntegerCache{static final int low= -128;static final int high;static final Integercache[static {

high value may be configured by propertyint h= 127;

String integerCacheHighPropValue=if (integerCacheHighPropValue!= nul l) {try{int i = paeInt(integerCacheHighPropValue)i = (i  127)

Maximum arraysize is_VALUEh= (i  _VALUE- (-low) -1)

} catch(NumberFormatException nfe) {

If the propertycannot be paed into an int  ignore it。high= h;cache= newInteger[(high - low) + 1]intj = low;

for(int k=0; kcache[k] = newInteger(j++)range[-128 127]must be interned(JLS7)assert>= 127;private IntegerCache() {

简单的说如果字面量的值在-128到127乊间那么丌会new新的Integer对象而是直接引用常量池中的Integer对象所以上面的面试题中f1==f2的结果是true而f3==f4的结果是false。赹是貌似简单的面试题其中的玄机就赹多需要面试者有相当深厚的功力。

8、&和&&的区别?

答&运算符有两种用法 (1)按位不;(2)逻辑不。&&运算符是短路不运算。逻辑不跟短路不的差别是非常巨大的虽然二者都要求运算符左右两端的.布尔值都是true整个表达式的值才是true。&&乊所以称为短路运算是因为如果&&左边的表达式的值是false右边的表达式会被直接短路掉丌会迕行运算。很多时候我们可能都需要用&&而丌是&例如在验证用户登录时判定用户名丌是nul l而且丌是空字符串应当写为 username !=nul l&&!( “” ) 二者的顺序丌能交换更丌能用&运算符因为第一个条件如果丌成立根本丌能迕行字符串的equals比较否则会产生

Nul lPointerException异常。注意逻辑戒运算符(|)和短路戒运算符(| |)的差别也是如此。

Letbox(35美元/年),美国洛杉矶VPS终身7折

Letbox 云服务商在前面的文章中其实也有多次介绍,这个服务商其实也算是比较老牌的海外服务商,几年前我也一直有使用过他们家的VPS主机,早年那时候低至年付15-35美元左右的VPS算式比较稀缺的。后来由于服务商确实比较多,而且也没有太多的网站需要用到,所以就没有续费,最近这个服务商好像有点活动就躁动的发布希望引起他人注意。这不有看到所谓的家中有喜事,应该是团队中有生宝宝了,所以也有借此来发布一些...

速云:深圳独立服务器,新品上线,深港mpls免费体验,多重活动!

速云怎么样?速云是一家国人商家。速云商家主要提供广州移动、深圳移动、广州茂名联通、香港HKT等VDS和独立服务器。目前,速云推出深圳独服优惠活动,机房为深圳移动机房,购买深圳服务器可享受5折优惠,目前独立服务器还支持申请免费试用,需要提交工单开通免费体验试用,次月可享受永久8折优惠,也是需工单申请哦!点击进入:速云官方网站地址活动期限至 2021年7月22日速云云服务器优惠活动:活动1:新购首月可...

UCloud优刻得,新增1核1G内存AMD快杰云机型,服务器2元/首月,47元/年

UCloud优刻得近日针对全球大促活动进行了一次改版,这次改版更加优惠了,要比之前的优惠价格还要低一些,并且新增了1核心1G内存的快杰云服务器,2元/首年,47元/年,这个价格应该是目前市面上最低最便宜的云服务器产品了,有需要国内外便宜VPS云服务器的朋友可以关注一下。UCloud好不好,UCloud服务器怎么样?UCloud服务器值不值得购买UCloud是优刻得科技股份有限公司旗下拥有的云计算服...

java程序员面试题为你推荐
最新qq空间代码qq空间都是有哪些免费代码!(要全部)怎么在qq空间里添加背景音乐如何在QQ空间中添加背景音乐办公协同软件求一款国内知名的OA办公软件,谁知道有哪些呢?唱吧电脑版官方下载唱吧有没有电脑版的啊?彩信中心移动的短信中心号码是多少腾讯文章腾讯罗剑楠是何许人也?人人逛街人人逛街评论怎么不显示链接了?好像4月28日就不能显示了。是什么原因呢?宽带接入服务器网络已连接,可无法连接到服务器为什么?网络已连接,可无法连接到服务cisco防火墙思科路由器上自带防火墙功能吗?淘宝软文范例经典软文案例
新网域名 美国vps vps教程 中国万网域名 域名抢注工具 host1plus themeforest 私人服务器 12u机柜尺寸 服务器怎么绑定域名 java空间 网站挂马检测工具 元旦促销 河南移动邮件系统 什么是刀片服务器 秒杀预告 789电视 ntfs格式分区 刀片式服务器 cdn加速原理 更多