2020年java程序员Spring所有面试题总结

2020年java程序员Spring所有面试题总结
2020年java程序员Spring所有面试题总结

1、Spring框架的好处?

轻量

控制反转:spring通过控制反转实现了松散耦合,对象们给出他们的依赖而不是创建或查找依赖的对象们。

面向切面的编程:spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。

容器:spring包含并管理应用中对象的生命周期和配置

Mvc框架:spring的web框架是个很好的框架

事务管理:spring提供一个持续的事务管理接口,可以扩展到本地事务到全局事务

异常处理:spring提供方面的api把具体技术相关的异常转化为一致的unchecked 异常。

2、spring由哪些模块组成?

Spring core:框架最基础部分,提供ioc和依赖注入特性

Spring context:构建与core封装宝基础上的context封装包,提供了一种框架式的对象访问方法。

Spring dao:dao层提供了JDBC的抽象层

Spring aop:提供了面向切面的编程实现,可以自定义拦截器,切点等

Spring web:提供了针对web开发的集成特性,比如文件上传,利用servlet listeners进行ioc容器初始化和针对web的applicationcontext

Spring web mvc:spring中mvc封装包提供了web应用的mvc实现

3、核心容器(应用上下文)模块?

基本的spring模块,提供spring框架的基础功能,beanfactory是任何以spring 为基础的应用的核心。Spring框架建立在此模块之上,它使spring称为一个容器。

4、beanfacotry-beanfactory实现举例?

Bean工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和依赖从真正的应用代码中分离。

最常用的beanFactory实现是xmlbeanFactory类

5、xmlbeanfacotry

最常用的beanfactory实现。它根据xml文件中的定义加载beans,从xml文件读取配置元数据并用它去创建一个完全配置的系统或应用。

6、解释aop模块

Aop模块用于发给我们的spring应用做面向切面的开发,很多支持有aop联盟提供,确保了spring和其他aop框架的共同性,这个模块将元数据编程引入spring

7、解释jdbc抽象和dao模块

通过使用jdbc抽象和dao模块,保证数据库代码的简洁,并能避免数据库资源错误关闭导致的问题,它在各种不同的数据库的错误信息之上提供了一个统一的异常访问层,还利用spring的aop模块给spring应用中的对象提供事务管理服务

8、解释对象关系映射集成模块

Spring通过提供ORM模块,支持我们在直接jdbc之上使用一个对象关系映射工具,spring支持集成主流的ORM框架,如hibernate、MyBatis等。Spring的

事物管理同样支持以上所有orm框架及jdbc

9、解释web模块

Spring的web模块是构建在applicationcontext模块基础之上,提供一个适合web应用的上下文。这个模块也包括支持多种面向web的任务,如透明地处理多个文件上传请求和程序级请求参数的绑定到你的业务对象。

10、为什么说spring是一个容器

形容它用来存储单例的bean对象

11、spring配置文件

Spring配置文件是xml文件,这个文件包含了类信息,描述了如何配置他们以及如何相互调用

12、什么是springioc容器

Springioc负责创建对象,管理对象(通过依赖注入DI)装备对象,配置对象并且管理这些对象的整个生命周期

13、ioc的优点

Ioc把应用的代码量降到最低,它使应用容易测试,单元测试不再需要单例和JNDI 查找机制,最小的代价和最小的侵入性是松散耦合得以实现。IOC容器支持加载服务时的饿汉式初始化和懒加载

14、applicationcontext通常的实现是什么?Filesystemxmlapplicationcontext:此容器从一个xml文件中加载bean的定义,xmlbean配置文件的全路径名称必须提供给他的构造函数Classpathxmlapplicationcontext:此容器从一个xml文件中加载beans的定义,需要正确设置classpath因为这个容器在classpath里找bean配置。

Webxmlapplicationcontext:此容器加载一个xml文件,此文件定义了一个web 应用的所有bean

15、bean工厂和applicationcontexts有什么区别?

Applicationcontext提供一种方法处理问信息,一个通常的做法是加载文件资源,他们可以向注册为监听器的bean发布事件。另外在容器和容器内的对象上执行的那些不得不由bean工厂以程序化方式处理的操作,可以在applicationcontexts 中以声明的方式处理。Applicationcontexts实现了messagesource接口,该接口的实现以可插拔的方式提供获取本地化信息的方法。

16、一个spring的应用看起来像什么?

一个定义了一些功能的接口

这实现包括属性,它的setter,getter方法和函数等。

Springaop

Spring的xml配置文件

使用以上功能的客户端程序。

17、什么是spring的依赖注入

依赖注入是ioc的一个方面。简单说就是你不用创建对象,而只需要描述它如何被创建,你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,只有ico容器负责把他们组装起来

18、依赖注入的方式?

构造器注入:构造器注入通过容器触发一个类的构造器来实现,该来有一系列参数,每个参数代表一个对其他类的依赖

Sett注入:setter注入是容器通过调用无参构造器或无参static工厂方法实例化

bean之后,调用该bean的setter方法。

19、哪种依赖注入方式你建议使用?

两种都可以用,最好的解决方案是用构造器参数实现强制依赖,setter实现可选依赖

20、什么是springbeans

Springbean是形成spring应用的主干的java对象,他们被springioc容器初始化、装配和管理。这些beans通过容器中配置的元数据创建。比如xml文件中的的形式定义。Springbean默认都是单例模式。

21、一个springbean定义包含什么?

一个springbean的定义包含容器必知的所有配置元数据,包括如何创建一个bean,它的生命周期详情及它的依赖

22、如何给spring容器提供配置元数据?

基于xml配置文件

基于注解的配置

基于java的配置

23、怎么定义类的作用域

通过bean定义中的scope属性来定义,比如当spring要在需要的时候每次生产一个新的bean实例,bean的scope属性被指定为prototype。另一方面,一个bean每次使用的时候必须返回同一个实例,这个bean的scope属性必须设为singleton。

24、spring支持几种bean的作用域

Singleton:ioc容器只存在一个bean实例,bean以单例模式存在,是系统默认

值。

Prototype:每次从容器调用bean都会创建一个新的实例,每个getbean()相当于执行new Bean()操作。

Request:每次http请求都会创建一个bean

session:同一个http session共享一个bean实例

global-session:用于protlet容器,因为每个protlet有单独的session,globalsession提供了一个全局性的http session

注意:使用prototype作用域需要慎重,因为频繁创建和销毁bean会带来很大的性能开销。

25、spring框架中的单例bean是线程安全的

Spring没有对单例bean进行多线程的封装处理。大部分时候spring bean是无状态的,所以某种程度上来说bean是安全的,但如果bean有状态的话可以把bean的作用域变为prototype,这样请求bean相当于new bean()了所以可以保证线程安全了。

有状态就是有数据存储功能

无状态就是不会保存数据

26、spring框架中bean的生命周期

Spring容器从xml文件张红去读bean的定义并实例化bean

Spring本剧bean的定义填充所有属性

如果bean实现beanNameAware接口,spring传递bean的ID到setBeanName 方法

如果bean实现了beanFactoryAware接口,spring传递beanfactory给

setBeanactory方法

如果有任何与bean相关联的beanPostProcessors,spring会在postProcesserBeforeInitialization()方法内调用它们。

如果bean实现intializingbean了,调用它的afterpropertyset方法如果bean生命了初始化方法,调用此初始化方法。

如果有beanpostprocessors和bean关联,这些bean的postprocessafterinitialization方法将被调用

如果bean实现了disposablebean,它将调用destroy()方法

27、那些是重要的bean生命周期方法?你能重载他们吗?

Set:他是在容器加载bean的时候被调用

teardown它是在容器卸载类的时候被调用

TheBean标签有两个重要属性(init-method和destory-method)用他们可以自己定制初始化和注销方法。他们有对应的注解(@postConstruct和@PreDestroy)28、什么是spring的内部bean

当一个bean仅被用作另一个bean的属性时,他能被声明为内部bean。在spring 的xml配置里可以在元素内使用元素。内部bean通常是匿名的,他们的scope一般是prototype

29、spring中如何注入一个java集合

List类型用于注入一列值,允许有相同的值

Set类型用于注入一组值,不允许有想同的值

Map类型用于注入一组键值对,键和值都可以是任意类型

Props类型用于注入一组键值对,键和值都只能为string类型

30、什么是bean装备

在spring容器中把bean组装到一起,前提是容器需要知道bean的依赖关系,如果通过依赖注入把他们装备到一起

31、什么是bean的自动装备

Spring容器能够自动装配相互合作的bean,就是容器不需要配置,能通过bean工厂自动处理bean之间的协作。

32、spring自动装配bean的方式?

no:默认值,表示没有自动装配,应使用显示bean引用进行装配

byName:根据bean的名称注入对象依赖项

byType:根据类型注入对象依赖项

构造函数:通过构造函数来注入依赖项,需要设置大量的参数

Autodetect:容器首先通过构造函数使用autowire装配,如果不能就通过byType 自动装配

33、自动装配有哪些局限性?

重写:扔需要配置来定义依赖,意味着总要重写自动装配

基本数据类型:不能自动装备简单的属性,如基本数据类型,string字符串和类模糊特性:不如显式装配精确,尽量使用显式装配

34、可以在spring中注入一个null和一个空字符串吗?

可以

35、什么是基于java的spring注解配置?给一些注解的例子

基于java的配置,允许在少量的java注解帮助下,进行大部分spring配置而非

通过xml文件

@configuration注解,用来标记类可以当做一个bean的定义,被ioc容器使用@bean注解,表示此方法将要返回一个对象,作为一个bean注册进spring应用上下文。

36、基于注解的容器配置?

注解型配置依赖于通过字节码元数据装配组件,而非尖括号的声明

开发者通过响应的类、方法或属性上使用注解的方式,直接组件类中进行配置,而不是使用xml表述bean的装配关系

37、怎么开启注解装配

注解装配默认不开启,在spring配置文件中配置元素

38、@required注解

表名bean属性必须在配置的时候设置,通过一个bean定义的显式的属性值或通过自动装配,如@required注解的bean属性未被设置,容器会抛出异常

39、@autowired注解

可以对类成员变量、方法及结构函数进行标注,完成自动装配的工作,通过@autowired的使用来消除set/get方法

40、@qualifier注解

当有多个相同类型的bean缺只有一个需要自动装备时,将@qualifier注解和@autowire注解结合使用以消除这种混淆,指定需要装配的确切的bean。

41、spring框架中如何更有效的使用jdbc

Springjdbc框架资源管理和错误处理的代价都会被减轻,所以我们只要写

statements和queries从数据存取数据,JDBC也可以在spring框架提供的模板类的帮助下更有效的被使用

42、jdbcTemplate

JdbcTemplate类提供了很多遍历的方法解决诸如把数据库数据转变为基本数据类型或对象。执行写好的或可调用的数据操作语句,提供自定义的数据错误处理。

43、spring对dao的支持

Spring对dao的支持是为了简化它和数据访问技术如jdbc,hibernateJDO结合使用,使我们方便切换持久层,编码时也不用担心会捕获每种技术特有的异常44、使用spring通过上面方式访问hibernate?

控制反转hibernateTemplate和callback

继承hibernateDAOsupport提供一个aop拦截

45、spring支持的orm?

Hibernate

Mybatis

JPA

Toplink

JDO

OJB

46、如何通过hibernateDaoSupport将spring和hibernate结合起来

配置thehibernatesessionfactory。

继承hibernatedaosupport实现一个DAO

在aop支持的事物中装配

47、spring支持的事物管理

编码式:通过编程方式管理事务,极大的灵活性但是难维护

声明式:可以将业务代码和事务管理分离,只需要注解和xml配置来管理

48、spring框架事务管理的优点:

为不同的事物API如JDBC、hibernate提供一个不变的编程模式

为编程式事务管理提供了一套简单的api而不是一些复杂的事物

支持声明式事务管理

和spring各种数据访问抽象层很好的集成

49、更倾向于那种事务管理类型?

一般是声明式事务管理,因为对应用代码的影响最小,更符合一个无侵入的轻量级容器的思想。管理也要优于编程时事务管理,虽然少了一点灵活性

50、解释aop

面向切面的编程,是一种编程技术,允许程序模块化横向切割关注点或横切典型的责任划分如日志和事务管理

51、aspect切面

Aop核心就是切面,它将多个类的通用行为封装成可重用的模块,该模块含有一组api提供横切功能比如一个日志模块可以被称作日志的aop切面,根据需求不同,一个应用程序可以有若干切面。Aop中切面通过带@aspect注解的类实现52、springaop中关注点和横切关注的区别是什么?

关注点是应用中一个模块的行为,一个关注点可能会被定义成一个我们想实现的一个功能。

横切关注点是一个关注点,这个关注点是整个应用都会使用的功能,并影响整个

应用,比如日志、安全和数据传输,几乎应用的每个模块都需要的功能

53、连接点

连接点代表一个应用程序的某个位置,在这个位置可以插入一个aop切面。实际上就是应用程序执行springaop的位置

54、通知

通知是一个在方法执行前或执行后要做的动作,实际上就是程序执行时通过springaop框架触发的代码段

Before:前置通知,在一个方法执行前被调用

After:方法执行后调用通知,无论方法执行是否成功

After-returning:仅当方法成功完成后执行的通知。

After-throwing::方法抛出异常退出时执行的通知

Around:方法执行之前和之后调用的通知

55、切点:

切入点是一个或一组连接点,通知将在这些位置执行,可以通过表达式或匹配的方式指明切入点

56、什么是引入?

引入允许我们在已存在的类中增加新的方法和属性

57、什么是目标对象?

被一个或者多个切面所通知的对象,通常是一个代理对象,也指被通知对象。

58、什么是代理?

通知目标对象后创建的对象,从客户端看代理对象和目标对象是一样的

59、有几种不同类型的自动代理

BeanNameAutoProxyCreator

DefaultAdvisorAutoProxyCreator

Metadataautoproxying

60、什么是织入。什么是织入应用的不同点?

织入是将切面和其他应用类型或对象连接或创建一个被通知对象的过程

织入可以在编译时,加载时,或运行时完成

61、解释基于xmlschema方式的切面实现

切面由常规类以及基于xml配置实现

62、解释基于注解的切面实现?

基于@aspectJ的实现涉及到的切面声明的风格与带有java5标注的普通java类一致

63、什么是spring的mvc框架?

Spring配备构建web应用的全功能mvc框架。Spring可以很便捷的和其他mvc 框架集成,如struts。Spring的mvc框架用控制反转把业务对象和控制逻辑清晰的隔离。它也允许以声明的方式把请求参数和业务对象绑定

64、DispatcherServlet

用来处理所有的http请求和响应

65、webapplicationcontext

继承applicationcontext并增加一些web应用必备的特有功能,能处理主题毛病找到被关联的servlet

66、什么是springmvc框架的控制器

控制器提供一个访问应用程序的行为,通常通过服务接口实现。控制器解析用户

输入并将其转换为一个由视图呈现给用户的模型,允许用户创建多种用途的控制器

67、@controller注解

表名该类扮演控制器的角色,spring不需要我们继承任何其他控制器基类或引用servletAPI

68、@requestMapping注解

用来映射一个url到一个类或方法上

69、返回json用什么注解

@responsebody

70、spring事务隔离级别:

ISOLATION_DEFAULT:默认;用底层数据库的设置隔离级别

ISOLATION_READ_UNCOMMITED:未提交读,事务没有被提交之前就可能被其他事务读取(脏读、幻读、不可重复读)

ISOLATION_READ_COMMITED:提交读。事务提交后才能被其他事务读取(幻读,不可重复读)sql server默认级别

ISOLATION_REPEATABLE_READ:可重复读,保证多次读取同一个数据时,值都和事务开始时的内容是一致,禁止读取到别的事务未提交的数据(幻读)mysql 默认级别

ISOLATION_SERIALIZABLE:序列化:代价最高最可靠的隔离级别,可以防止脏读、不可重复读、幻读

脏读:一个事务能够读取另一个事务中还没提交的数据,比如某个事务尝试插入记录A,此时该事务还未提交,然后另一个事务尝试读取到了记录A

不可重复读:在一个是事务内,多次读同一数据

幻读:同一事务内多次查询返回的结果集不一样。比如同一个事务A第一次查询的时候有n条记录,但是第二次同等条件下查询却有n+1条记录,这就好像产生了幻觉,发生幻读的原因也是另外一个事务新增或者删除或者修改了第一个事务结果集里面的数据,同一个记录的数据内容被修改了,所有数据航的记录就变多或变少了。

java经典面试题汇总

Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√ × friendly √√ × × private √ × × × 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的 7、String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor 9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错 答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用 11、数组有没有length()这个方法? String有没有length()这个方法 答:数组没有length()这个方法,有length的属性。String有有length()这个方法 12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型

常见的Java上机面试题

常见的Java上机面试题 在程序员面试中,主要的考试形式分为笔试和上机编程考试两部分。笔试主要考查面试者的基础是否牢固;上机考试主要考查面试者的实际开发能力和技术技巧。 上机编程考试,要求面试者能够根据题目的要求,使用一种编程工具,编写全部代码并调试运行。这主要是考查面试者代码书写和编程的熟练程度。值得注意的是,这类面试题要求能够正确运行,往往要求面试者使用比较原始的JDK编译方式也就是使用DOS命令提示符,而不是提供Eclipse或者JBuilder等快速开发环境。本章将经常出现的上机编程题进行分类,希望能够给读者带来帮助和启示。 17.1 Java基础编程试题(1) 在上机编程类的面试题中,大部分涉及基础编程,例如算法、语法、常用的类等知识点。 面试题1 怎样截取字符串 考题题干 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",而不是"我ABC+汉的半个"。 试题分析 本面试题容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数问题,中文字符占两个字节,英文字符占一个字节,理解了这个,就很容易完成本题了。 参考答案 具体代码实现如下: 1.package core_java; 2.import java.util.Scanner; 3.public class InterceptionStr { 4.static String ss; //要进行截取操作的字符串 5.static int n; //截取的字符串的字节数 6.public static void main(String[] args) { 7. System.out.println("请输入字符串:"); 8. Scanner scStr = new Scanner(System.in); //从键盘获取字符串 9. ss = scStr.next(); // 将Scanner对象中的内容以字符串的形式取出来 10. System.out.println("请输入字节数:"); 11. Scanner scByte = new Scanner(System.in); //从键盘获取字符串 12. n = scByte.nextInt(); //将Scanner对象中的内容以数值的形式取出来

JAVA框架面试题汇总

1.SpringMVC Framework的理解: 1、它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件。并且和Spring提供的其他基础结构紧密集成 2、不依赖于Servlet API(目标虽是如此,但是在实现的时候确实是依赖于Servlet的) 3、可以任意使用各种视图技术,而不仅仅局限于JSP 4、支持各种请求资源的映射策略 5、它应是易于扩展的 2.简单的谈一下SpringMVC的工作流程? 流程? 1、用户发送请求至前端控制器DispatcherServlet? 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。? 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。? 4、DispatcherServlet调用HandlerAdapter处理器适配器? 5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。? 6、Controller执行完成返回ModelAndView? 7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet? 8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器? 9、ViewReslover解析后返回具体View? 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。? 11、DispatcherServlet响应用户 3.如何解决POST请求中文乱码问题,GET的又如何处理呢? 在web.xml中加入: . .CharacterEncodingFilter . .???? .????????encoding .?????? utf-8

2019最新Java面试题,常见面试题及答案汇总

ava最新常见面试题+ 答案汇总 1、面试题模块汇总 面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示: 可能对于初学者不需要后面的框架和JVM 模块的知识,读者朋友们可根据自己的情况,选择对应的模块进行阅读。 适宜阅读人群 需要面试的初/中/高级java 程序员 想要查漏补缺的人 想要不断完善和扩充自己java 技术栈的人 java 面试官 具体面试题 下面一起来看208 道面试题,具体的内容。 一、Java 基础 1.JDK 和JRE 有什么区别? 2.== 和equals 的区别是什么? 3.两个对象的hashCode()相同,则equals()也一定为true,对吗? 4.final 在java 中有什么作用? 5.java 中的Math.round(-1.5) 等于多少? 6.String 属于基础的数据类型吗? 7.java 中操作字符串都有哪些类?它们之间有什么区别? 8.String str="i"与String str=new String(“i”)一样吗? 9.如何将字符串反转? 10.String 类的常用方法都有那些? 11.抽象类必须要有抽象方法吗? 12.普通类和抽象类有哪些区别? 13.抽象类能使用final 修饰吗?

14.接口和抽象类有什么区别? 15.java 中IO 流分为几种? 16.BIO、NIO、AIO 有什么区别? 17.Files的常用方法都有哪些? 二、容器 18.java 容器都有哪些? 19.Collection 和Collections 有什么区别? 20.List、Set、Map 之间的区别是什么? 21.HashMap 和Hashtable 有什么区别? 22.如何决定使用HashMap 还是TreeMap? 23.说一下HashMap 的实现原理? 24.说一下HashSet 的实现原理? 25.ArrayList 和LinkedList 的区别是什么? 26.如何实现数组和List 之间的转换? 27.ArrayList 和Vector 的区别是什么? 28.Array 和ArrayList 有何区别? 29.在Queue 中poll()和remove()有什么区别? 30.哪些集合类是线程安全的? 31.迭代器Iterator 是什么? 32.Iterator 怎么使用?有什么特点? 33.Iterator 和ListIterator 有什么区别? 34.怎么确保一个集合不能被修改?

百一测评——Java经典面试题 带答案

职业技能题库&在线云笔试平台https://www.360docs.net/doc/1611290416.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.360docs.net/doc/1611290416.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.360docs.net/doc/1611290416.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.360docs.net/doc/1611290416.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.360docs.net/doc/1611290416.html, do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.360docs.net/doc/1611290416.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

Java经典面试编程设计题(含答案)

1、程序实现目标:输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。程序要求:该字符串只包含小写字母,若其值加5后的字符值大于'z',将其转换成从a开始的字符。 1. package com.iotex; 2. public class StringParseASCII { 3. 4. public static void main(String[] args) { 5. System.out.print(stringParseASCII("abx")); 6. } 7. 8. public static String stringParseASCII(String str){ 9. StringBuffer result = new StringBuffer(); 10. char tmp; 11. for(int i = 0;i 'z') { 14. result.append('a'); 15. }else { 16. result.append(tmp); 17. } 18. } 19. 20. return result.toString(); 21. } 22. 23. } 1. package com.iotex; 2. 3. public class StringParseASCII { 4. 5. public static void main(String[] args) { 6. System.out.print(stringParseASCII("abx")); 7. } 8. 9. public static String stringParseASCII(String str){ 10. StringBuffer result = new StringBuffer(); 11. char tmp; 12. for(int i = 0;i 'z') { 15. result.append('a'); 16. }else { 17. result.append(tmp);

java面试题大全(整理版)

2018年(整理版) 1、面向对象的特征有哪些方面? - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承的类叫父类(超类、基类)、得到继承的类叫子类(派生类)。 - 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的事情)。 - 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。实现多态需要做两件事:1). 方法重写(子类继承父类并重写父类中的方法);2). 对象造型(用父类型引用引用子类型对象,

这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为) 2、访问修饰符public,private,protected,以及不写(默认)时的区别? 3、String 是最基本的数据类型吗? 答:不是。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;。

java编程常见面试题目

第一,谈谈final, finally, finalize的区别。 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和Inner Class的不同, 第四,&和&&的区别。 第五,HashMap和Hashtable的区别。 第六,Collection 和Collections的区别。 第七,什么时候用assert。 第八,GC是什么? 为什么要有GC? (基础)。 第九,String s = new String("xyz");创建了几个String Object? 第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 第十二,sleep() 和wait() 有什么区别? 搞线程的最爱 第十三,Java有没有goto? 第十四,数组有没有length()这个方法? String有没有length()这个方法?

第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 第十七,给我一个你最常见到的runtime exception。 第十八,error和exception有什么区别? 第十九,List, Set, Map是否继承自Collection接口? 第二十,abstract class和interface有什么区别? 第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 第二十三,启动一个线程是用run()还是start()? 第二十四,构造器Constructor是否可被override? 第二十五,是否可以继承String类? 第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

这76道Java面试题及答案

这76道Java面试题及答案,祝你能成功通过面试 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。 2、Java有没有goto? java中的保留字,现在没有在java中使用。 3、说说&和&&的区别。 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。 &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。 &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。 4、在JAVA中如何跳出当前的多重嵌套循环? 在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。

5、switch语句能否作用在byte上,能否作用在long上,能否作用在String 上? 在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char 都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 对于short s1 = 1; s1 = s1 + 1;由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。 对于short s1 = 1; s1 += 1;由于 +=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。 7、char型变量中能不能存贮一个中文汉字?为什么? char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。补充说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。 8、用最有效率的方法算出2乘以8等於几? 2 << 3,

Java经典面试笔试题及答案

1.什么是对象序列化,为什么要使用? 所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上。好处:方便远程调用。 2.值传递与引用传递的区别? 所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间。不会改变原有的值所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空间,当新的变量修改对象的属性时,内存中的数据也会修改。 3.接口与抽象类的区别? 1:接口里面不可以实现方法体,抽象类可以实现方法体。 2:接口可以多继承接口,抽象类不可以。 3:接口需要被子类实现,抽象类是要被子类继承(单一继承)。 4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性. 5: 接口中不能存在静态方法,但属性可以和final,抽象类中方法中可以有静态方法,属性也可以。 4.谈谈继承,为什么要使用继承? 所谓继承就是找出几个类中共同的部分,提取出来作为父类。而子类只需要继承父类,就可以共享父类的方法。 使用继承能够减少重复的代码。 5.方法重载的好处?

所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。 重载的好处就是能够让我们很快的掌握该方法的功能,我们只要要记住该方法就能很快的理解该方法的参数以及参数的作用 6.项目中印象最深的部分? 我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用。 谈谈你对面向对象的理解与认识? 我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用。 我的看法就是: 1:当加入新的功能的时候不会修改原有的代码。(面向接口编程) 2: 当我们写的一个类可以重复的运用在其他项目中。(代码的复用性) 3:当写一个新类的时候要考虑到他的可扩展性。(灵活性) 7.谈谈集合框架? 集合框架分为三部分,第一部分是collection接口,第二部分是Map接口、第三部分是collections帮助类 首先说一下collection接口,collection接口下面的接口分为set 接口、list接口,在往下面就是他们一些实现类。

JAVA基础面试题(经典)

基础知识部分: 1. JDK是什么?JRE是什么? a) 答:JDK:java开发工具包。JRE:java运行时环境。 2. 什么是java的平台无关性? a) 答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3. 在一台电脑上配置java环境,path起什么作用?如何配置? a) 答:path的作用是在DOS环境下,能在任意位置使用JD K目录中bin文件夹中的可执行程序,来编译执行java程序。 b) 在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。

4. 什么样的标识符是合法的? a) 由字母、数字、_和$组成,长度不限。其中字母可以是大写或小写的英文字母,数字为0到9。 b) 标识符的第一个字符不能是数字。 c) 标识符区分大小写。 d) 标识符不能包含空格。 5. Java有几种基本数据类型? a) byte,short,int,long,float,double,char,bool ean 6. 什么是隐式类型转换?什么是显示类型转换? a) 当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。

b) 当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。 7. &&和&区别,||和|区别? a) &&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表达式。 b) 而& 和|则将两边的表达式都运算完毕后,再算结果。 8. break,continue区别? a) break结束所有循环,continue结束当次循环,进入下次循环。 9. 类的命名规则是什么? a) 如果类名使用拉丁字母,那么名字的首写字母使用大写字母。

Java经典笔试题01

1. Given: 1. public class test ( 2. public static void main (String args[]) { 3. int i = 0xFFFFFFF1; //0001 4. int j = ~i;//1110,取反 5. 6. } 7. ) What is the decimal value of j at line 5? A. 0 B. 1 C. 14 D. -15 E. An error at line 3 causes compilation to fail. F. An error at line 4 causes compilation to fail. 2. Given: Integer i = new Integer (42); Long 1 = new Long (42); Double d = new Double (42.0); Which two expressions evaluate to True? (Choose Two) A. (i ==1) B. (i == d) C. (d == 1) D. (i.equals (d)) E. (d.equals (i)) F. (i.equals (42))

3. Click the exhibit button: 1. public class test ( 2. private static int j = 0; 3. 4. private static boolean methodB(int k) ( 5. j += k; 6. return true; 7. ) 8. 9. public static void methodA(int i) { 10. boolean b; 11. b = i < 10 | methodB (4);//非短路 12. b = i < 10 || methodB (8);//短路,后面不执行 13. ) 14. 15. public static void main (String args[] } ( 16. methodA (0); 17. system.out.printIn(j); 18. ) 19. ) What is the result? A. The program prints “0” B. The program prints “4” C. The program prints “8” D. The program prints “12” E. The code does not complete 4. Given: 1.Public class test ( 2. Public static void main (String args[]) ( 3. System.out.printIn (6 ^ 3); //0110 ^ 0011 = 0101 4. ) 5.) What is the output? 5 1.Which statement is correctly declare a variable a which is suitable for refering to an array of 50 string empty object? (长度为50的空数组引用) A. String [] a B. String a[]

常见JAVA面试题

名词解释: 1.HTTP:Hypertext Transfer Protocol 2.J2EE:Java 2 Platfore,Enterprise Edition 3.JNDI:Java Naming and Directory Interface 4.SOAP:Simple Object Access Protocol 5.UDDI:Universal Description Discovery and Integration 6.OOP:Object Oriented Programming 7.AOP:Aspect Oriented Programming 8.IOC:Inversion of Control 9.DI:Dependence Injection 10.Web:World Wide Web 11.ORM:Object/Relation Mapping 12.DOM:Document Object Model 13.TCP: Transmission Control Protocol 14.UDP : User Datagram Protocol 15.IP : Internet Protocol 编程基础: 1.描述面向对象特征?请一个例子说明,比方说车? 面向对象的4个基本特征:封装性、继承性和多态性。 a)所有东西都是对象。 b)程序是一大堆队形的组合。

c)每个对象都有自己的存储空间,可容纳其他对象。 d)每个对象都有一种类型。 e)同一类所有对象都能接收相同的消息。 封装是面向对象编程的特征之一,也是类和对象的基本特征。封装将数据以及加在这些数据上的操作组织在一起,成为有独立意义的构件。外部无法直接访问这些封装了的数据,从而保证了这些数据的正确性。如果这些数据发成了差错,也很容易定位错误是由哪些操作引起的。 继承是一种联接性的层次模型,并且允许和鼓励类的重用,他提供了一种明确表述共性的方法。对象的一种新类可以从现有的类中派生,这个过程称之为类的继承。新类继承了原始类的特征,新类称之为原始类的派生类(子类),而原始类称之为新类的基类(父类)。派生类可以修改或增加新的方法使之更适合特殊的需求。这也体现了大自然中一般与特殊的关系。继承性很好的解决了软件的可重用问题。比如说:所有的windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。 多态性是指允许不同的类的对象对同一消息做出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同,又比如,同样的选择“编辑”、“粘贴”操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和运行时多态性,多态语言具有灵活。抽象,行为共享、代码共享的优势,很好解决了应用程序函数同名问题。 2.abstractclass和interface有什么区别? 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创

Java常见的22个面试问题

Java常见的22个面试问题 1.Iterator和ListIterator的区别是什么? 下面列出了他们的区别: Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。 Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。 ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素的索引,等等 2.快速失败(fail-fast)和安全失败(fail-safe)的区别是什么? Iterator的安全失败是基于对底层集合做拷贝,因此,它不受源集合上修改的影响。java.util 包下面的所有的集合类都是快速失败的,而java.util.concurrent包下面的所有的类都是安全失败的。快速失败的迭代器会抛出ConcurrentModificationException异常,而安全失败的迭代器永远不会抛出这样的异常。 3.Java中的HashMap的工作原理是什么? Java中的HashMap是以键值对(key-value)的形式存储元素的。HashMap需要一个hash 函数,它使用hashCode()和equals()方法来向集合/从集合添加和检索元素。当调用put()方法的时候,HashMap会计算key的hash值,然后把键值对存储在集合中合适的索引上。如果key已经存在了,value会被更新成新值。HashMap的一些重要的特性是它的容量(capacity),负载因子(load factor)和扩容极限(threshold resizing)。 4.hashCode()和equals()方法的重要性体现在什么地方? Java中的HashMap使用hashCode()和equals()方法来确定键值对的索引,当根据键获取值的时候也会用到这两个方法。如果没有正确的实现这两个方法,两个不同的键可能会有相同的hash值,因此,可能会被集合认为是相等的。而且,这两个方法也用来发现重复元素。所以这两个方法的实现对HashMap的精确性和正确性是至关重要的。

【2020最新Java面试题资料】30个Java经典的集合面试题

1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的版本包含几种集合类:Vector Stack HashTable和Array。 随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,已经经历了很久。它还包括在并发包中,阻塞接口以及它们的实现。 集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类。 (2)随着使用经过严格测试的集合框架类,代码质量会得到提高。 (3)通过使用JDK附带的集合类,可以降低代码维护成本。 (4)复用性和可操作性。 2.集合框架中的泛型有什么优点? 1.Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。 2.泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。 3.这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。 4.泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。 5.它也给运行时带来好处,因为不会产生类型检查的字节码指令。 3.Java集合框架的基础接口有哪些? Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。平台不提供这个接口任何直接的实现。 Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。 List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。 Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。

JAVA基础面试题(经典)

第一阶段题库 基础知识部分: 1.JDK是什么?JRE是什么? a)答:JDK:java开发工具包。JRE:java运行时环境。 2.什么是java的平台无关性? a)答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚 拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平 台性。 3.在一台电脑上配置java环境,path起什么作用?如何配置? a)答:path的作用是在DOS环境下,能在任意位置使用JDK目录中bin文件夹中的 可执行程序,来编译执行java程序。 b)在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。 4.什么样的标识符是合法的? a)由字母、数字、_和$组成,长度不限。其中字母可以是大写或小写的英文字母,数 字为0到9。 b)标识符的第一个字符不能是数字。 c)标识符区分大小写。 d)标识符不能包含空格。 5.Java有几种基本数据类型? a)byte,short,int,long,char,boolean,float,double 6.什么是隐式类型转换?什么是显示类型转换? a)当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。 b)当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。 7.&&和&区别,||和|区别? a)&&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表 达式。 b)而& 和|则将两边的表达式都运算完毕后,再算结果。 8.break,continue区别? a)break结束最近的一个循环,continue结束当次循环,进入下次循环。 9.类的命名规则是什么? a)如果类名使用拉丁字母,那么名字的首写字母使用大写字母。 b)类名最好见名得意,当类名由几个单词复合而成时,每个单词的首写字母使用大写。 10.类体的内容由两部分构成,哪两部分? a)一部分是变量的定义,用来刻画属性。 b)另一部分是方法的定义,用来刻画功能。 11.解释什么是类的成员变量,局部变量,实例成员变量,类成员变量? a)变量定义部分所定义的变量被称为类的成员变量。 b)在方法体中定义的变量和方法的参数被称为局部变量。 c)成员变量又分为实例成员变量和类成员变量(static修饰)。 12.简述this关键字用法。 a)this关键字使用在实例方法中,代表调用该方法的当前对象。 13.如何确定方法的返回类型?

相关文档
最新文档