JAVA模拟面试题库

JAVA模拟面试题库

ID:37845552

大小:88.00 KB

页数:20页

时间:2019-06-01

JAVA模拟面试题库_第1页
JAVA模拟面试题库_第2页
JAVA模拟面试题库_第3页
JAVA模拟面试题库_第4页
JAVA模拟面试题库_第5页
资源描述:

《JAVA模拟面试题库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JAVA基础部分1.我们能不能声明main()方法为非静态?不能,main()方法必须声明为静态的,这样JVM才可以调用main()方法而无需实例化它的类。如果从main()方法去掉“static”这个声明,虽然编译依然可以成功,但在运行时会导致程序失败。2.不用main方法如何定义一个类?不行,没有main方法我们不能运行Java类。在Java7之前,你可以通过使用静态初始化运行Java类。但是,从Java7开始就行不通了。3.String类为什么是final的。主要是为了“效率”和“安全性”的缘故。若 String允许被继承, 由于它的高度被使用

2、率,可能会降低程序的性能,所以String被定义成final;4.使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。5.string、stringbuilder、stringbuffer区别a.可变与不可变  String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。    privatefinalcharvalue[];  StringBuilder与StringBuf

3、fer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,如下就是,可知这两种对象都是可变的。    char[]value;b.是否多线程安全  String中的对象是不可变的,也就可以理解为常量,显然线程安全。  AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。  StringBuffer对方法加了同

4、步锁或者对调用的方法加了同步锁,所以是线程安全的StringBuilder并没有对方法进行加同步锁,所以是非线程安全的c.StringBuilder与StringBuffer共同点  StringBuilder与StringBuffer有公共父类AbstractStringBuilder(抽象类)。  抽象类与接口的其中一个区别是:抽象类中可以定义一些子类的公共方法,子类只需要增加新的功能,不需要重复写已经存在的方法;而接口中只是对方法的申明和常量的定义。  StringBuilder、StringBuffer的方法都会调用AbstractStrin

5、gBuilder中的公共方法,如super.append(...)。只是StringBuffer会在方法上加synchronized关键字,进行同步。  最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。6.抽象类和接口的区别1).抽象类可以有构造方法,接口中不能有构造方法。2).抽象类中可以有普通成员变量,接口中没有普通成员变量3).抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。4).抽象类中的抽象方法的访问类型可以是public,protected和(默认类

6、型,虽然eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为publicabstract类型。5).抽象类中可以包含静态方法,接口中不能包含静态方法6).抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是publicstaticfinal类型,并且默认即为publicstaticfinal类型。7).一个类可以实现多个接口,但只能继承一个抽象类。7.Java中应该使用什么数据类型来代表价格?如果不是特别关心内存和性能的话,使用BigDecimal,否则使

7、用预定义精度的double类型。8.静态变量和实例变量的区别?在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。9.、final,finally,finalize的区别。

8、final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。内部类要访问局部变量,局部变

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。