Java面试题大全答案.docx

上传人:lao****ou 文档编号:220783 上传时间:2023-06-05 格式:DOCX 页数:14 大小:63.14KB
下载 相关 举报
Java面试题大全答案.docx_第1页
第1页 / 共14页
Java面试题大全答案.docx_第2页
第2页 / 共14页
Java面试题大全答案.docx_第3页
第3页 / 共14页
Java面试题大全答案.docx_第4页
第4页 / 共14页
Java面试题大全答案.docx_第5页
第5页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Java面试题大全答案.docx》由会员分享,可在线阅读,更多相关《Java面试题大全答案.docx(14页珍藏版)》请在第一文库网上搜索。

1、1、一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?可以,但是只能有一个类用PUb1iC修饰,并且用PUb1iC修饰的类名与文件名要一致2、&和&的区别。&和&都可以用作逻辑与;&还具有短路功能,即如果第一个表达式的结果为fa1se,则不再计算第二个表达式;&还可以用作位运算符,当&操作符两边的表达式不是boo1ean类型时,&表示按位与操作。3、Java有没有goto?java中的保留字,现在没有在java中使用。4、在JAVA中,如何跳出当前的多重嵌套循环?break+变量控制与return5、SWitCh是否能作用在byte(拜特)上,是否能作用在IOng上,是否

2、能作用在String上?SWitCh可以作用在int上,而byte可以隐式转换为int所以能作用在byte上不能作用在1ong上,也不能作用在String上6、shortsi=1;si=si+1;有什么错?shortsi=1;si+=1;有什么错?1在java中为Mt数据类型,short+int=int,大类型转为小类型,编译时,会报告需要强制转换类型的错误。s1+=1不会报,因为JVM会对它特殊处理(自动强转)7、Char型变量中能不能存贮一个中文汉字?为什么?可以,char型变状是用来存储UniCOde(依妮Q特)编码的,而unicode编码包含了中文,所以是可以保存的8、编程题:用最有效

3、率的方法算出2乘以8等於几?23,表示将2左移3位;一个数左移几位就表示这个数乘以了2的几次方,左移运算,CPU宜接支持,所以是最有效率的9、请设计一个一百亿的计算器思路:用两个数组分别保存两个操作数,再新建一个数组保存结果。10、使用fina1关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?引用变量不能变11、=和equa1s方法究竟有什么区别?=和equa1s方法都可以用来比较两个对象是否是同一个对象。=还可以比较两个变量的值是否相等.equa1s是ObjeCt类中的方法,可以由子类重写此方法,实现内容相等。12、静态变量和实例变量的区别?语法上不同:静态变量前要加StatiC关

4、键字,实例变量不需要程序运行时不同:实例变量是属于某个对象的,只有创建了对象,才会为这个对象的实例变量分配空间。静态变量是属于类的,当程序加载了这个类的字节码文件,就会为静态变量分配空间,并且所有对象共享这个变量13、是否可以从一个static方法内部发出对非static方法的调用?不可以,非StatiC方法需要与对象关联在一起的,而StatiC方法调用时不需要对象,可以直接调用,也就是说调用StatiC方法时,可能还没有创建任何实例14、Integer与int的区别int是java中的8种基本数据类型之一,默认值是0,Integer是Mt的包装类,默认值是nu11,即Integer可以表示未

5、赋值和赋值为015、(麦死)Math.round(乱的)(11.5)等於多少?Math.round(11.5)等於多少?12,-11Math.round()方法的实现是:Math.f1oor(n+0.5);16、作用域pub1ic,private,protected,以及不写时的区别本类同包子类其他类pub1icprotectedXfriend1yXXprivateXXX17、OVeHoad(喔我楼的)和OVenIde的区别。Over1oaded的方法是否可以改变返回值的类型?OVerIoad是重载,OVeITide是重写。OVer1Oad是指在一个类中,方法名相同,参数列表不同,那么这些方法

6、之间构成重载。OVerTide是指在父子类之间,子类的方法签名和父类的方法签名完全一样,那么这两个方法构成重写C)Ver1Oad的方法可以改变返回值。因为调用方法时,返回值可以接受也可以不接受,所以编译器无法根据返回值来判断是否重载。18、构造器ConStrUCtOr(看似爪克特)是否可被OVeiTide?COnStnJCtOr不能被继承,所以不能OVeITide19、接口是否可继承接口?抽象类是否可实现(imp1ements)接口?抽象类是否可继承具体类(concretec1ass)?抽象类中是否可以有静态的main方法?接口可以继承接口,抽象类可以实现接口,抽象类可以继承具体类,抽象类中可

7、以有静态的main方法20、写C1one()方法时,通常都有一行代码,是什么?SUPer.done();克隆时,首先得将父类的成员克隆完。21、面向对象的特征有哪些方面封装封装是把过程和数据包围起来,对数据的访问只能通过己定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。继承继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从

8、它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。抽象抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。多态多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。22、java中实现多态的机制是什么?靠的是父类或接11能够指向子类或实现类。程序运行时,JVM会根据内存中实际的对象调用方法。23、abst

9、ract(抽象)CIaSS和interface有什么区另J?abstractc1ass本质是类,用abstract修饰类,而Interface是接口,将c1ass替换为interface2、abstractc1ass可以有构造方法,interface不能有3、abstractc1ass中可以包含普通变量,interface所有的变量都是fina1static的4、abstractc1ass中可以包含普通方法,interface中所有的方法都是抽象的。5、abstractc1ass中除抽象方法不可以是PriVate修饰符外,其它成员任意;而interface中所有成员的修饰符都为pub1ic6、

10、abstractc1ass可以继承一个类实现多个接口,interface只能继承接口24Xabstract的method是否可同时是StatiC,是否可同时是native,是否可同时是synchronized?abstract的方法不可以是static,abstract方法必须由子类去实现,而static方法可以由当前类调用。abstract的方法不可以是native,abstract方法必须由子类去实现,而native是调用其它程序语言的代码,所以不存在由子类去实现的问题,矛盾。关于abstract和SynChrOniZed同用的问题,我觉得也不行,因为在这几年的开发中,从没见过这种情况,而

11、且我觉得synchronized应该是作用在一个具体的方法上才有意义。25、什么是内部类?在一个类的内部定义的类叫做内部类.26、内部类可以引用外部类的成员吗?有没有什么限制?如果不是静态内部类,完全可以。27、StaticNestedC1ass和InnerC1aSS的不同。NestedC1ass一般是C+的说法,InnerC1ass一般是Java的说法,指的是同一意思。内部类分为静态内部类和非静态内部类。静态内部类中可以包含静态成员,非静态内部类中不可以包含静态成员。静态内部类中不能引用外部类中的实例成员。非静态内部类则没有这个限制。28AnonymousInnerC1ass(匿名内部类)是

12、否可以extends(继承)其它类,是否可以imp1ements(实现)interface(接口)?可以继承其它类,可以实现接口29、String是最基本的数据类型吗?不是,基本数据类型是:byteshortint1ongf1oatdoub1echarboo1ean30、StringS=He11o;s=s+WOrIdF;这两行代码执行后,原始的String对象中的内容到底变了没有?没有,String类被设计为不可变的类。所以它的所有对象都不可变。31、是否可以继承String类?不可以。String被fina1修饰,被fina1修饰的类不可被继承。32、Strings=newString(xy

13、z);创建了几个StringObject?二者之间有什么区别?2个对象。一个放在常量区,不管写多少遍,永远只有一个。一个放在堆内存中。每次newString就产生一个新的。33、String和StringBuffer的区别String和StringBuffer都是操作字符串的类。String类被设计为不可变,而StringBuffer可变。34、如何把一段逗号分割的字符串转换成一个数组?第一种用正则表达式的方式:String类的sp1it方法第二种方式:StringTOkeniZer,代码为:newStringTOkeniZer(“1,2,3,4,);35、数组有没有Iength()这个方法?

14、String有没有Iength()这个方法?数组是1ength属性,String有Iength()这个方法36、try里有一个return语句,那么紧跟在这个try后的fina11y里的Code会不会被执行,什么时候被执行,在return前还是后?会,return前38、fina1,fina11y,fina1ize的区别。fina1用来修饰类,变量,方法的。修饰类表示类不可被继承,修饰变量表示变量的引用不可变,修饰方法表示方法不可被重写。fina11y是异常处理结构中的一部分,表示一定会执行。fina1ize是ObjeCt类的方法,当垃圾收集器执行的时候会调用此对象的这个方法。39、运行时异常

15、与一般异常有何异同?一般异常强制要求捕获或声明。运行时异常可以捕获,也可以不捕获。40、error和exception有什么区别?error表示恢复不是不可能但是很困难的情况下的一种严重问题。例如:内存溢出exception表示程序的设计或实现有问题。也就是说如果程序正常运行,不会发生的情况。41、JaVa中的异常处理机制的简单原理和应用。当JaVa程序违反了JaVa的语义规则时,JVM就会将发生的错误表示为一个异常。违反语义规则包括两种:一种是JaVa类库内置的语义检查,另一种是程序员自己定义的异常。42、给我一个你最常见到的runtime(茹二楼)exceptionoArithMaticExceptionNu11PointExceptionIndexofBoundExceptionHibernateEXCePtion(子类:CaCheEXCePtion,1azy1nitia1iZationEXCePtion,MappingException)NestedRuntimeException(AopconfigExceptionzAop1nvocationException)43、J

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服