JAVA模拟面试题库.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA模拟面试题库要点

JAVA基础部分 1. 我们能不能声明main()方法为非静态? 不能,main()方法必须声明为静态的,这样JVM才可以调用main()方法而无需实例化它的类。 如果从main()方法去掉“static”这个声明,虽然编译依然可以成功,但在运行时会导致程序失败。.不用main方法如何定义一个类? 不行,没有main方法我们不能运行Java类。 在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。 . String类为什么是final的。 主要是为了“效率”和“安全性”的缘故。若?String允许被继承,?由于它的高度被使用率,可能会降低程序的性能,所以String被定义成finalfinal 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 使用final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。 5. string、stringbuilder、stringbuffer区别.可变与不可变   String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。     private final char value[];   StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,如下就是,可知这两种对象都是可变的。     char[] value; .是否多线程安全   String中的对象是不可变的,也就可以理解为常量,显然线程安全。   AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。   StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的 StringBuilder并没有对方法进行加同步锁,所以是非线程安全的.StringBuilder与StringBuffer共同点   StringBuilder与StringBuffer有公共父类AbstractStringBuilder(抽象类)。   抽象类与接口的其中一个区别是:抽象类中可以定义一些子类的公共方法,子类只需要增加新的功能,不需要重复写已经存在的方法;而接口中只是对方法的申明和常量的定义。   StringBuilder、StringBuffer的方法都会调用AbstractStringBuilder中的公共方法,如super.append(...)。只是StringBuffer会在方法上加synchronized关键字,进行同步。   最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。 抽象类和接口的区别1).抽象类可以有构造方法,接口中不能有构造方法。 2).抽象类中可以有普通成员变量,接口中没有普通成员变量 3).抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的 普通方法。 4). 抽象类中的抽象方法的访问类型可以是public,protected 和(默认类型,虽然 eclipse 下不报错,但应该也不行),但接口中的抽象方法只能是public 类型的,并且默认即为 public abstract 类型。 5). 抽象类中可以包含静态方法,接口中不能包含静态方法 6). 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意, 但接口中定义的变量只能是public static final 类型,并且默认即为public static final 类型。 7). 一个类可以实现多个接口,但只能继承一个抽象类。 7. Java 中应该使用什么数据类型来代表价格?如果不是特别关心内存和性能的话,使用BigDecimal,否则使用预定义精度的 double 类型。 在语法定义上的区别: 静态变量前要加static 关键字,而实例变量前则不加。 在程序运行时的区别: 实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。 9. 、final, finally, finalize 的区别。 final

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档