JAVA企业面试题简答题 及答案

2018-11-19 20:19

第一部分 Java的类

1、请解释Java语言的跨平台特性。

Java的跨平台特性也被称为可移植性。他的意思就是如果用Java语言编写一个应用,那么就可以在不同平台上运行,而不需要为不同平台单独运行开发。之所以能实现跨平台的特性。主要得益于Java虚拟机(JVM),JVM解释器在运行Java应用时根据当前平台进行解释,解释成符合当前平台规范的机器码,所以可以实现同样的应用在不同平台上都能运行。

2、请列举JAVA语言的主要特点

JAVA语言有很多特点,主要包括①跨平台性:一个应用可以不经过修改直接运行到不同的平台上。②面向对象:JAVA语言是一门面向对面的语言,可以使用对象的属性和行为,可以使用面向对象的思想进行分析设计,并实现整个应用。③解释执行JAVA应用时,JVM中的解释器将解释类文件,生成符合当前平台的字节码。④自动回收:JAVA应用中的垃圾回收是自动进行的,JVM中的后台线程将监视内存中数据的使用,当内存中的数据不再被引用时,将被作为垃圾回收,而不需要程序员动手回收。

3.请说明一个JAVA类中主要包含哪几个元素?并说明每种元素的作用。

JAVA类中主要包含属性、方法、构造方法、块以及内部类。属性用来定义对象的数据;方法用来定义对象的行为;构造方法可以用来创建对象;块能够用来在类加载时执行操作或者在每次实例化前执行通用操作;内部类作为类的一个成员存在,能够访问外部类的属性和方法。

4、请说明构造方法的作用和特征

构造方法的作用是用来创建对象,使用new关键字调用。 构造方法的名字必须与类的名字相同,并且大小写敏感,同时构造方法不能声明返回值类型,可以使用任意一种访问修饰符,但是不能使用其他修饰符进行修饰,如static、final、abstract等修饰符都可以修饰构造方法。

5、什么事方法重载(overload)?

方法重载指的是在一个类中可以声明多个相同名字的方法,而方法的形式参数有区别。调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法。

6、请列举Java语言中的权限访问修饰符,并说明每种权限的含义。

Java语言中有四种权限访问修饰符,即public、protected、同包以及private.

public表示公共权限,即任何包中都可以访问:protected表示受保护权限,即同包中可以访问,不同包中的子类可以访问:同包权限是默认权限,即不显示指明权限修饰符的

时候就是同包权限,表示只有同包中可以访问:private是私有权限,表示只能在本类中访问。

7、请列举Java语言中的八种基本数据类型,并说明每种数据类型的含义及长度。

Java语言的八种基本数据类型有:byte字节型,8位长度:short短整型,16位长度,int整型,32位长度:long长整型,64位长度:float单精度浮点型。32位长度:double双精度浮点型,64位长度:char字符型,16位长度:boolean型,表示逻辑值,有true和false两个值,分别表示真和假。

8.什么叫引用类型,引用类型和基本数据类型有什么区别?

Java语言中除了基本数据类型之外的类型,都称为引用类型。引用类型就是类的类型,所有的对象都是引用类型,包括数组对象。

引用类型必须使用new调用构造方法进行赋值,引用类型的变量拥有自己的属性和方法,可以使用圆点调用自己的属性和方法。基本数据类型直接使用=号进行赋值,且没有自己的属性和方法,往往都在声明属性或方法时使用。

9.对于String对象,可以使用“=”赋值,也可以使用new关键字赋值,两种方式有什么区别?

使用“=”赋值不一定每次都创建一个新的字符串,而是从“字符串实例池”中查找字符串。使用new进行赋值,则每次都创建一个新的字符串。

10.String类是一个“不可变类”,请解释“不可变类”的含义。

所谓的不可变类,就是当字符串初始化后,就不能够被改变。

11.String类和StringBuffer类有什么区别?

String类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer是可变字符串类,类似String的缓冲区,可以修改字符串的值。

12.StringBuffer和StringBuilder类有什么区别?

StringBuffer是线程安全的字符串缓冲,而StringBuilder不是线程安全的。

13.包装器类型包括哪些类,有什么作用?

包装类器包括Byte、Short、Integer、Long、Float、Double、Character、Boolean等类,主要用来对byte、short、integer、long、float、double、character、boolean这八种基本数据类型进行包装,使其成为引用类型。

14. 请说明Java语言中的值传递规则。

基本数据类型传递的是值,引用类型传递的是引用,即虚地址。

15.使用static修饰属性或方法后,属性和方法有什么特征?

static修饰属性或方法后,属性和方法不在属于某个特定的对象,成为类对象,被所有此类的实例所共享,在类加载时就被初始化。Static修饰的属性或方法,可以直接使用类名调用,而不用先实例化对象再调用。

16.使用final修饰属性后,属性有什么特征? final修饰属性后,属性就成为一个常量。常量只要被赋值,就不能被改变。

17.请说明操作符==的作用。

==可以用来比较基本类型或者引用类型。比较基本类型时,==用来比较二进制的值,比较引用类型时,用来比较对象的虚地址。

18请说明&&与&的区别和联系

&&会发生短路问题,当第一个表达式的值为false时,将直接返回结果为false而不会判断第二个表达式的值。而&不会发生短路问题,即使第一个表达式的值是false,会判断第二个表达式的值。

19. break语句能在什么场景使用。 break语句可以再循环体中使用,也可以在switch的case语句中使用。

20.for循环中的break语句和continue语句的使用。

break可以用来中断循环,continue可以用来继续下一次循环。

21 请说明一个JAVA类中主要包含哪几个元素并说明每种元素的作用。

JAVA类中主要包含属性、方法、构造方法、块以及内部类。属性用来定义对象的数据,方法用来定义对象的行为,构造方法可以用来创建对象,块能够用来在类加载时执行操作或者在每次实例化前执行通用操作,内部类作为类的一个成员存在,能够访问外部类的属性和方法。

第二部分 类之间的关系

1、用代码表示A类关联B类的情况。

Class A{

Private B b;

Public void setB(B b){ This.b=b; } }

2、请说明Java语言中数组的基本概念,数组的作用,以及数组的声明创建方式。

数组是相同元素的集合,作为数据容器使用。

声明创建一个int型数组:int[]x=new int[3];其中3是数组的长度,该数组能够存储3个int型变量。

3、使用代码,创建一个长度为5的String型数组,并使用增强for循环迭代数组打印出数组中的元素。 String[] sArray = new String[5];

For(String s : sArray){ System.out.println(s);

}

4、说明Arrays类的作用。

Arrays类是java.util包中的一个类,类中所有的方法都是static方法,这些方法都是数组对象的工具方法,能够对数组进行处理,如sort方法可以对数组元素进行排序。

5、请使用简单代码展示A类依赖B类的含义。

依赖关系指的是一种瞬间的关系。如果A依赖B,一般指的是A类的某个行为,需要B类对象作为参数。 Class A{

Public void f(B b) }

6、请说明依赖关系和关联关系的区别。

依赖关系是一种瞬时关系,A依赖B,指的是A的某个行为的参数是B的类型,也就是说,A要想实现这个行为,必须依赖B的实例。

A关联B,是一种长久的关系。是B作为A的属性存在,只要实例化一个A的对象,就会为这个A的对象实例化一个B的对象,作为它的属性使用,可以在A中任何需要使用B的地方使用B。

7、继承有什么作用,Java语言中的继承有什么特点?

继承主要为了能够重复使用父类中的成员,提高代码的重用率

Java语言中的继承是单继承,也就是说一个类最多只能继承一个父类。

8、什么是方法覆盖(override)?并说明方法覆盖与方法重载(overioad)的区别。

覆盖是发生在继承关系的子类中,当子类要修改从父类继承的某个方法的方法体时,就可以在子类中声明一个与父类同名、同参数并且同返回值类型的方法,这就是方法覆盖。而重载与继承没有关系,指的是在一个类中可以同时声明多个同名但不同参数的方法,称为重载。

9、请说明什么是抽象类?抽象类有什么作用?

抽象类是不能实例化的类,使用abstract修饰。抽象类往往用来做父类使用,定义一些子类的共同属性或行为。

10、请说明抽象方法的含义,并说明抽象类与抽象方法的关系。

抽象方法是没有办法体的方法,使用abstract修饰。抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类。

11、super关键字的两种用法。

如super():表示调用父类中的每一参考的构造方法:又如super(10);表示调用父类中的具有一个整型参数的构造方法。第二种用法是在子类中调用父类中的成员,如super.f();意思是调用父类中的f()方法。

12、final类与final方法有什么作用?

final类是不能够被继承的类,称为终极类,如String类就是final类,不能有子类。final修饰方法后,是终极方法,不能被子类覆盖,但是可以被子类继承使用。

13、什么是多态函数?多态函数有什么用?

多态函数就是参数的类型是某个父类类型,具体为这个参数赋值的不同以使用该父类的任意子类的对象。使用多态参数,可以使程序的扩展性更好,即使%%%%的子类方法不需要任何修改,就能接受子类类型进行处理。

14、Object类有什么特点? Object类是多有类的直接或间接的父类。

15、Object类中的toString方法有什么用?


JAVA企业面试题简答题 及答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:立德树人,让教育走进生命内核

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: