范文一:2017java面试题大全带答案
2017java 面试题大全带答案
来源:扣丁学堂
目前有很多的人选择学习 Java ,只因为 Java 发展前景广阔。在现在这个计算 机发展势头勇猛的时代, 不仅是互联网公司的巨大机会 , 同时也是 Java 发展的时 机,所以越来越多的人学习 Java ,并关心到企业面试时,会有什么样的 Java 面 试题。 今天扣丁学堂 Java 视频教程讲师就来讲解一下常见的 Java 面试题及回答 方式:
1、说说 servlet 的生命周期。
2、进程和线程的区别是什么 ?
3、说出 J2EE 常用的几种设计模式。
1、 当 web 容器加载 servlet , 生命周期开始 ; 通过调用 init() 方法进行 servlet 的初始化 ; 通过调用 service() 方法实现, 根据请求的不同调用不同的 doGet() 或 doPost() 方法 ; 结束服务, web 容器调用 destroy() 方法。
2、进程是执行着的应用程序,而线程是进程内部的一个执行序列。一个进 程可以有多个线程。
3、工厂模式、单例模式、适配器模式、代理模式
常见的 Java 面试题及回答方式就先为大家分享到这,感谢大家阅读由扣丁 学堂分享的“java 面试题”我们会不定期的分享更多关于面试题的文章,供广 大 java 学员进行参考,更多精彩内容请关于扣丁学堂官网。
范文二:java面试题大全带答案 Java面试题(带答案)
导读:就爱阅读网友为您分享以下“Java面试题(带答
案)”的资讯,希望对您有所帮助,感谢您对92to.com的支持!
湖南世杰Java工程师面试题
选择题:
单选题
1,以下java程序代码,执行后的结果是( )
java.util.HashMap map=newjava.util.HashMap();
map.put("name",null);
map.put("name","Jack"); System.out.println(map.size());
1
A: 0 B: null C: 1 D: 2
答案:C
2,执行以下程序后的输出结果是( )
Public class Test {
Public static void main(String[] args) {
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operator(a, b);
System.out.println(a +","+ b);
}
2
Public static void operator(StringBuffer x, StringBuffer y)
{ x.append(y); y = x;
} }
A: A,A B: A,B C: B,B D: AB,B
答案:D
3,关于依赖注入,下列选项中说法错误的是( ) A:依赖注入能够独立开发各组件,然后根据组件间关系进行组装
B:依赖注入使组件之间相互依赖,相互制约
C:依赖注入提供使用接口编程
D:依赖注入指对象在使用时动态注入
答案:B
3
4,关于spring说法错误的是( )
A: spring是一个轻量级JAVA EE的框架集合
B: spring是“依赖注入”模式的实现
C: 使用spring可以实现声明事务
D: spring提供了AOP方式的日志系统
答案:D
5,要在session对象中保存属性,可以使用以下哪个语句( )
A: session.getAttribute(“key”,”value”)
B: session.setAttribute(“key”,”value”)
C: session.setAttribute(“key”)
4
D: session.getAttribute(“key”)
答案:B
6,关于以下程序代码的说明正确的是?( )
Public class HasStatic{
Private static int x = 100;
Public static void main(String args[]){
HasStatic hs1= new HasStatic();
hs1.x++;
HasStatic hs2= new HasStatic();
hs2.x++;
5
hs1=new HasStatic();
hs1.x++;
HasStatic.x--;
System.out.println("x="+x);
} }
A: 程序通过编译,输出结果为:x=103
B: 10行不能通过编译,因为x是私有静态变量
C: 5行不能通过编译,因为引用了私有静态变量
D: 程序通过编译,输出结果为:x=102
答案:D
6
7,以下哪一项不是使用mvc模式设计的web应用程序所具
有的优点( ) A:可维护行强
B:可扩展性强
C:代码重复少
D:大大减少代码量 答案:D
8,在 myjsp.jsp 中,关于下面的代码说法错误的是: ( )
<%@ page language="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %>
A: 该页面可以使用 exception 对象
B: 该页面发生异常会转向 error.jsp
7
C: 存在 errorPage 属性时,isErrorPage 是默认为 false
D: error.jsp 页面一定要有isErrorPage 属性且值为 true
答案:A
9,关于Spring MVC的核心控制器DispatcherServlet的作用,以下说法错误的是( )
A:它负责接收HTTP请求 B:加载配置文件 C:实现业务操作 D:初始化上下应用对象ApplicationContext 答案:C
10,下面的类图表示的是哪个设计模式,( )
A:代理模式(Proxy)
8
C:桥接模式(Bridge) D:观察者模式(Observer)
答案:D
11,java如何接受request域中的参数? ( )
答案:C
9
范文三:java面试题大全带答案 JAVA面试题大全(含答案)
1. J2EE是什么,它包括哪些技术,
解答:从整体上讲,J2EE是使用Java技术开发企业级应用的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。适用于企业级应用的J2EE,提供一个平**立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。
主要包括以下这些技术:
1) Servlet Servlet是Java平台上的CGI技术。Servlet在服
1
务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。 2)JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。 3) EJB EJB定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。 4)JDBC
JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和
2
OUT参数的存储过程。Java中的JDBC相当于Microsoft平台中的ODBC(Open Database Connectivity)。
2.测试生命周期、测试过程分为几个阶段,以及各阶段的含义,
解答:软件测试生命周期一般包括6个阶段:1)计划 2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施,
1) 计划:产品定义阶段
2). 分析:外部文档阶段
3). 设计:文档架构阶段
4). 构建:单元测试阶段
3
5). 测试周期:错误修正,重复系统测试阶段
6). 最后的测试和实施:代码冻结阶段
3.您做系统设计用何种工具,
解答:Visio, rational rose,power designer等 4. 什么是Web容器?
解答:容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。
5. 运行时异常与一般异常有何异同,
4
解答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
6. Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能
知道表结构,
解答:可以看与XML文件对应的域模型。
7.目前几种主流数据库软件的应用特点、适用范围各是什么,
5
解答:国际国内的主导关系型数据库管理系统有SQL Server、ORACLE、SYBASE、INFORMIX和 DB2。本文从性能,可伸缩性和并行性,安全性,操作简便,使用风险,开放性,易维护性和价格,数据库二次开发方面比较了SQL Server,Oracle、SYBASE、DB2、INFORMIX 数据库:
1)性能
SQL Server:老版本多用户时性能不佳,新版本的性能有了明显的改善,各项处理能力都有了明显的提高。保持了多项TPC-C(TPC-C值被广泛用于衡量C/S环境下,由服务器和客户端构筑的整体系统的性能,它由事物处理性能委员会(TPC,Transaction Processing Corp)制定,TPC为非赢利性国际组织。)纪录。
Oracle :性能最高, 保持Windows NT下的TPC-C的世界记录。 SYBASE :性能较高,支持Sun、IBM、HP、Compaq和Veritas的集群设备的特性,实现高可用性。适
6
应于安全性要求极高的系统。 DB2 :适用于数据仓库和在线事物处理,性能较高。 客户端支持及应用模式。 INFORMIX :性能较高,支持集群,实现高可用性。适应于安全性要求极高的系统,尤其是银行,证券系统的应用。 2)可伸缩性,并行性 SQL Server :以前版本SQL Server并行实施和共存模型并不成熟。很难处理大量的用户数和数据卷。伸缩性有限。新版本性能有了较大的改善,在Microsoft Advanced Servers上有突出的表现,超过了他的主要竞争对手。
Oracle :平行服务器通过使一组结点共享同一簇中的工作来扩展Window NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果Windows NT不能满足需要, 用户可以把数据库移到UNIX中,具有很好的伸缩性。 SYBASE :新版本具有较好的并行性,速度快,对巨量
数据无明显影响,但是技术实现复杂,需要程序支持,伸缩性有限。 DB2 :DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点,伸缩性有限。 INFORMIX :采用单进程多线程的技术,具有较好的并行
7
性。但是仅运行于UNIX平台,伸缩性有限。 3)安全性 SQL server :Microsoft Advanced Server 获得最高安全认证,服务器平台的稳定性是数据库的稳定性的基础,新版本的SQL的安全性有了极大的提高。 Oracle:获得最高认证级别的ISO标准认证。 SYBASE :通过Sun公司J2EE认证测试,获得最高认证级别的ISO标准认证。 DB2 :获得最高认证级别的ISO标准认证。 INFORMIX :获得最高认证级别的ISO标准认证。 4)操作简便 SQL Server :操作简单,采用图形界面。管理也很方便,而且编程接口特别友好(它的SQL-DMO让编程变得非常方便~) ,从易维护性和价格上SQL Server明显占有优势。 Oracle :较复杂, 同时提供GUI和命令行,在Windows NT和Unix, Linux 下操作相同。对数据库管理人员要求较高。 SYBASE :复杂,使用命令行操作,对数据库管理人员要求较高。 DB2 :操作简单,同时提供GUI和命令行,在Windows NT和Unix下操作相同。 INFORMIX :使用和管理复杂,命令行操作。对数据库管理人员要求较高。 5)使用风险 SQL Server :完全重写的代码,性能和兼容性有了较大的提高,与Oracle,DB2的性能差距明显减小。该产品的出台经历了长期的测试,为产品的安全和稳定进行了全面的检测,安全稳定性有了明显的提高。 Oracle :长时间的开发经验,完全向下兼容,可以安全的进行数据库的升级,在企业,政府中得到广泛的应
8
用。并且如果在WINNT上无法满足数据的要求,可以安全的把数据转移到UNIX上来。
SYBASE :开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。 DB2 :在巨型企业得到广泛的应用,向下兼容性好。风险小。 INFORMIX :开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。 6)开放性 SQL Server:只能在Windows 上运行,C/S结构,只支持Windows客户,可以用ADO,DAO,OLEDB,ODBC连接。Windows9X系列产品是偏重于桌面应用,NT server适合各种大中小型企业。 操作系统的稳定对数据库是十分重要的。Windows平台的可靠性,安全性经过了最高级别的C2认证的。在处理大数据量的关键业务时提供了较好的性能。 Oracle :能在所有主流平台上运行(包括 Windows)。完全支持所有的工业标准。采用完全开放策略。多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。可以使客户选择最适合的解决方案。对开发商全力支持。 SYBASE :能在所有主流平台上运行,在银行业中得到了广泛的应用。 DB2 :有较好的开放性,最适于海量数
9
据。跨平台,多层结构,支持ODBC,JDBC等客户。在大型的国际企业中得到最为广泛的应用,在全球的500家最大的企业中,大部分采用DB2数据库服务器。 IINFORMIX :仅运行在UNIX平台,包括SUNOS、HPUX、 ALFAOSF/1。在银行中得到广泛的应用。 7)易维护性和价格 SQL Server :
从易维护性和价格上SQL Server明显占有优势。基于Microsoft的一贯风格,SQL Server的图形管理界面带来了明显的易用性, 微软的数据库管理员培训进行的比较充分,可以轻松的找到很好的数据库管理员,数据库管理费用比较低,SQL Server的价格也是很低的,但是在License的购买上会抬高价格。总体来说SQL Server的价格在商用数据库中是最低的。 Oracle :从易维护性和价格上来说Oracle的价格是比较高的,管理比较复杂,由于Oracle的应用很广泛,经验丰富的Oracle数据库管理员可以比较容易的找到,从而实现Oracle的良好管理。因此Oracle的性能价格比在商用数据库中是最好的。 SYBASE :SYBASE的价格是比较低的,但是SYBASE的在企业和政府中的应用较少,很难找到经验丰富的管理
员,运行管理费用较高。
10
DB2 :价格高, 管理员少,在中国的应用较少,运行管理费用都很高,适用于大型企业的数据仓库应用。 INFORMIX :价格在这些系统中居于中间,与SYBASE一样,在企业和政府中应用较少,仅在银行中得
到了广泛的应用。经验丰富的管理人员较少,运行管理费用高。 8)数据库二次开发 SQL Server :数据库的二次开发工具很多,包括Visual C++, Visual Basic等开发工具,可以实现很好的Windows应用,开发容易。 Oracle :数据库的二次开发工具很多,涵盖了数据库开发的各个阶段,开发容易。 SYBASE :开发工具较少,经验丰富的人员很少。 DB2 :在国外巨型企业得到广泛的应用,中国的经验丰富的人员很少。 INFORMIX :在银行业中得到广泛的应用,但是在中国的经验丰富的人员很少。
8.存储过程和函数的区别
解答:
11
从参数的返回情况来看:
如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数。
从调用情况来看:
如果在SQL语句(DML或SELECT)中调用的话一定是存储函数或存储的封装函数不可以是存储过程,但调用存储函数的时候还有好多限制以及函数的纯度等级的问题,如果是在过程化语句中调用的话,就要看你要实现什么样的功能。函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等),所以虽然他们的语法上很相似但用户在使用他们的时候所需要完成的功能大部分情况下是不同的。
9.试述数据库完整保护的主要任务和措施。
12
解答:数据库的完整性保护也就是数据库中数据正确性的维护。数据库完整性包括三个内容:实体完整性规则,参照物完整性规则以及用户定义完整性规则。 前两个是有DBMS自动处理。
实体完整性规则是说针对于基表中的关键字中属性值不能为空值,是数据库完整性的基本要求,主关键字和元组的唯一性对应。
参照物完整性规则是不允许引用不存在的元组:即基表中的外关键字要么为空,要么关联基表中必存在元组。
用户定义完整性规则针对具体的数据环境由用户具体设置的规则,它反应了具体应用中的语义要求。 一个完整性规则一般由下面三部分组成:完整性约束条件设置,完整性约束条件的检
13
百度搜索“就爱阅读”,专业资料、生活学习,尽在就爱阅读
网92to.com,您的在线图书馆!
14
范文四:java面试题大全带答案 Java和JavaEE面试题大全
java面试题大全带答案 Java和JavaEE面
试题大全
导读:就爱阅读网友为您分享以下“Java和JavaEE面试题大全”的资讯,希望对您有所帮助,感谢您对的支持!
(资料来源:互联网)
JAVA方面
1面向对象的特征有哪些方面封装、继承、多态
2String是最基本的数据类型吗?
3int和Integer有什么区别
4String和StringBuffer的区别
5运行时异常与一般异常有何异同,
6说出一些常用的类,包,接口,请各举5个
7说出ArrayList,Vector,Arraylinked的存储性能和特性
8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
9(JSP的内置对象及方法。
10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。11说出Servlet的生命周期,并说出Servlet和CGI的区别。
是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
13(EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的,
14(说出数据连接池的工作机制是什么?
15同步和异步有和异同,在什么情况下分别使用他们,举例说明。
16应用服务器有那些,
17你所知道的集合类都有哪些,主要方法,
18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。
19(说出在JSP页面里是怎么分页的?
数据库方面:
1.存储过程和函数的区别
过程是执行特定操作的子程序,函数是一段独立的PL/SQL程序代码,过程可以作为PL/SQL语句执行,函数只能作为表达式的一部分调用,过程在规格说明中不包含Return子句,函数必须在规格说明中包含Return子句,过程不返回任何值,函数必须返回单个值,可以包含Return语句,但是与函数不同,他不能用于返回值,函数必须包含至少一条Return语句。
2.事务是什么,
3.游标的作用,如何知道游标已经到了最后,
游标的作用相当于指向数据表的一个指针,用以返回数据表中的纪录。通过FETCH游标,如果游标到了最后,它的%NOTFOUND游标属性将被设置为TURE(通过条件判断即可)
4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有
何区别。
Java面试常见问题~
Java基础方面:
1,作用域public,protected,private,以及不写时的区别
2,ArrayList和Vector的区别,HashMap和Hashtable的区别
3,char型变量能不能定义为一个中文?为什么?
4,多线程有几种表示方法,都是什么?同步有几种实现方法,都是什么?
5,继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
6,内部类的实现方式?
7,垃圾回收机制,如何优化程序?
8,float型floatf=是否正确?
Jsp方面
1,jsp有哪些内置对象?作用分别是什么?
2,jsp有哪些动作?作用分别是什么?
3,include的两种实现方式的区别?
4,两种跳转方式分别是什么?有什么区别?
Servlet方面
1,说一说Servlet的生命周期?
2,Servlet版本间(忘了问的是哪两个版本了)的不同?
Jdbc,Jdo方面
1,可能会让你写一段Jdbc连Oracle的程序.
2,的作用?为什么要用?
3,Jdo是什么?
Xml方面
1,xml有哪些解析技术?区别是什么?
2,你在项目中用到了xml技术的哪些方面?如何实现的?
3,用jdom解析xml文件时如何解决中文问题?如何解析?
EJB方面
1,有哪些内容?分别用在什么场合?和的区别?
MVC方面
1,MVC的各个部分都有那些技术来实现?如何实现?
设计模式方面:
1,开发中都用到了那些设计模式?用在什么场合?
JavaScript方面
1,如何校验数字型?
CORBA
1,CORBA是什么?用途是什么?
以上就是我的总结,可能不是全部,因为时间问题,如果能够记起来,我会再加上,有些问题描述的可能不准确,希望大家批评指正,问题都很基础,即使不知道,花上一点时间查找(csdn/java版)就能弄懂,希望对正在找工作的朋友有所帮助,有所提醒.一份正确率很高的笔试卷可能会为你的面试减轻负担,少问不少问题.
当然我还是要提醒从Java陷阱一箩筐----面试题集
第一,谈谈final,finally,finalize的区别。
最常被问到。
第二,AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
第三,StaticNestedClass和InnerClass的不同,说得越多越好(面试题有的很笼统)。第四,&和&&的区别。
这个问得很少。
第五,HashMap和Hashtable的区别。
常问。
第六,Collection和Collections的区别。
范文五:java面试题大全带答案 Java面试题及答案解析1
导读:就爱阅读网友为您分享以下“Java面试题及答案解析1”的资讯,希望对您有所帮助,感谢您对92to.com的支持!
面向对象编程(OOP)
Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:
?
?
?
? 代码开发模块化,更易维护和修改。 代
1
码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。
面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。下面的章节我们会逐个分析这些特性。
封装
封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。
下面列出了使用封装的一些好处:
?
?
? 通过隐藏对象的属性来保护对象内部的状态。 提高了代码的可用性和可维护性,因为对象的行为
2
可以被单独的改变或者是扩展。 禁止对象之间的不良交互提高模块化。
参考这个文档获取更多关于封装的细节和示例。
多态
多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力。一个多态类型上的操作可以应用到其他类型的值上面。
继承
继承给对象提供了从基类获取字段和方法的能力。继承提供了代码的重用行,也可以在不修改类的情况下给现存的类添加新特性。
抽象
抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。Java支持创建只暴漏接口而不包含方法实现的抽象的类。这种抽象技术的主要
3
目的是把类的行为和实现细节分离开。
抽象和封装的不同点
抽象和封装是互补的概念。一方面,抽象关注对象的行为。另一方面,封装关注对象行为的细节。一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略。
常见的Java问题
1.什么是Java虚拟机,为什么Java被称作是“平台无关的编程语言”,
Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。
2.JDK和JRE的区别是什么,
4
Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的浏览器插件。Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。
3.”static”关键字是什么意思,Java中是否可以覆盖(override)一个private或者是static的方法,
“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。
Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。
4.是否可以在static环境中访问非static变量,
static变量在Java中是属于类的,它在所有的实例中的值是一样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变
5
量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。
5.Java支持的数据类型有哪些,什么是自动拆装箱,
Java语言支持的8中基本数据类型是:
?
?
?
?
?
?
?
? byte short int long float double boolean
6
char
自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成double,等等。反之就是自动拆箱。
6.Java中的方法覆盖(Overriding)和方法重载(Overloading)
是什么意思,
Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。
7.Java中,什么是构造函数,什么是构造函数重载,什么是复制构造函数,
当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,Java编译器会为这个类创建一个默认的构造函数。
7
Java中构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。
Java不支持像C++中那样的复制构造函数,这个不同点是因为如果你不自己写构造函数的情况下,Java不会创建默认的复制构造函数。
8.Java支持多继承么,
不支持,Java不支持多继承。每个类都只能继承一个类,但是可以实现多个接口。
9.接口和抽象类的区别是什么,
Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:
?
?
8
? 接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。 类可以实现很多个接口,但是只能继承一个抽象类 类如果要实现一个接口,它必须要实现接口声明的所有方法。但是,类可以不实现抽象类声明的所有方法,
当然,在这种情况下,类也必须得声明成是抽象的。
9
转载请注明出处范文大全网 » 2017java面试题大全带