1、switch能否作用在byte、int、long、String?

答案:switch能作用在byte、int、enum常量, 补充:jdk7可以作用在String上





2、short s = 1; s = s + 1;有什么错? short s = 1; s += 1;有什么错?

答案: s = s + 1; 在计算右边的表达式时,隐式的将s转换为int,将一个int类型赋值给short出错,必须强制转换,即: s = (short)(s+1); 而s+=1; 编译器会首先将+=后面的1强制转换为+=前面的数据类型。故无错。





3、char型变量中能不能存贮一个中文汉字?为什么?

答案: 可以,因为java默认采用unicode编码表示一个字符。





4、用最有效率的方法算出2乘以8等於几?

答案: 2<<3 将2左移3位,2的3次方等于8;





5、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

答案: 引用不能变,而引用对象的值可以改变,

比如final StringBuffer BUFF = new StringBuffer("123");

BUFF.append("456"); //打印后是123456的字符串





6、静态变量和实例变量的区别?

答案:静态变量又叫类变量,属于类而不是对象,用static关键字修饰;而实例变量属于对象,必须先实例化一个对象后,才能使用实例变量。





7、是否可以从一个static方法内部发出对非static方法的调用?

答案: 不能,因为static方法属于类,而非static方法属于实例化对象,静态类方法不知道调用哪个对象的非静态方法。





8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

答案:12, -11;原因:向最大方向四舍五入。





9、请说出作用域public,private,protected,以及不写时的区别

答案:同一个包下的类认为是朋友:friendly。默认为friendly

public: 当前类、子类、同一包、其他包

protected: 当前类、子类、同一包

private: 当前类

friendly: 当前类、同一包





10、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

答案: Overloaded是重载,Override是重写。Overloaded在方法参数列表不同时,可以改变返回值的类型。





11、构造器Constructor是否可被override?

答案: Constructor即构造方法,不能被继承,当然不能被重写。





12、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?

答案:接口可以被继承,使用extends关键字;抽象类可以实现接口;抽象类可以继承具体类;抽象类中可以有静态main方法,也可以有静态方法。





13、写clone()方法时,通常都有一行代码,是什么?

答案: super.clone(); clone即克隆,将一个对象拷贝给另一个对象,这两个对象属于独立的对象,改变其中一个对象,不会改变另一个对象。注意有浅克隆和深克隆之分。





14、抽象类和接口的区别:

答案: 1、面向对象中,所有对象都用类来描述,但是并不是所有类都用来描述对象。如果一个类中没有足够的信息来描述具体的对象,我们称之为抽象类。是对一系列看上去不同,但本质相同的具体概念的抽象。

2、语法上,用abstract class和interface区别,实现分别用extends和implements实现。

3、抽象类可以有非抽象方法但接口只能有抽象方法

4、一个类只能继承一个类,但可以实现多个接口。

5、抽象类中的字段可以不被初始化,但接口中定义字段时必须被初始化。





15、什么是内部类?Static Nested Class 和 Inner Class的不同。

答案: 内部类:是定义在类中的类。static nested class(嵌套类)是静态内部类:1、创建嵌套类的对象,并不需要其外部类的对象。 2、不能从嵌套类的对象中访问非静态的外部类对象。





16、是否可以继承String类?

答案: 不能,String类是一个final终结类。





17、String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?

答案:两个。"xyz"作为一个常量字符串首先被创建,它保存在”常量“区,一旦创建不能修改,因此下次需要一个相同的字符串时,不必创建。引用一个常量串没有任何危险,因为它是只读的。当new String("xyz")调用时,再在堆(heap)中创建一个对象,值为常量区字符串的拷贝。区别:一个在常量池,一个在堆中。





18、String 和StringBuffer、StringBuilder的区别?

答案:都不是基本数据类型,都是final类不能被继承。String对象是一个不可变对象,一旦创建不能修改它的值。对于已经存在的String对象修改它的值,会重新创建一个新的对象,然后把新的值保存进去。对String对象的连接操作(+)实际上是会建立一个StringBuffer类对象,然后把字符串添加进去,最后调用toString()方法。 StringBuffer类是一个可变对象,当对它进行修改时不会像String那样重新建立一个对象,调用append()方法即可。 StringBuffer是线程安全的,而Stringbuilder不是线程安全的。所谓线程安全,就是每个修改容器中数据的是同步的,因此保证了线程安全。





19、如何把一段逗号分割的字符串转换成一个数组?

答案: 调用String类中的实例方法split(); str.split(",");





20、数组有没有length()这个方法? String有没有length()这个方法?

答案: 数组没有length()方法,有一个length字段,String有length()方法。





21、下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d";

答案:5个对象,现在常量池创建了"a","b","c","d",4个对象。再在堆中创建了一个"abcd"对象。





22、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

答案: finally{}里的代码一定会被执行。return之后执行finally,再执行了return,但是finally修改后的值,return的是修改之前的值。





23、final, finally, finalize的区别。

答案:final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。





24、error和exception有什么区别? 

答案: 相同处:Error类和Exception类都继承自Throwable类。不同处:Exception: 1、可以是可被控制(checked)或不可控制的(unchecked); 2、表示一个有程序员导致的错误。3、应该在应用程序级被处理。Error: 1、总是不可控制的(unchecked); 2、经常用来用于表示系统错误或底层资源错误。 3、如果可能的话,应该在系统级被捕获。





25、运行时异常与一般异常有何异同?

答案: 1、一般异常指checked exception: 这类异常都是Exception的子类。异常向上抛出,可能导致的问题:代码效率低,耦合度过高。 2、运行时异常unchecked exception:这类异常都是RuntimeException的子类,虽然RuntimeException同样也是Exception的子类,但是他们是不同的,他们不能通过用户代码来试图解决。





26、请写出你最常见到的5个runtime exception?

答案: ClassCastException类型转换异常, ArithmeticException算数运算异常,NullPointerException空指针异常,IndexOutOfBoundsException索引越界异常。





NegativeArraySizeException负数作为数组大小异常,BufferOverflowException缓冲区溢出异常。

java 面试基础典型题及答案的更多相关文章

  1. java面试一日一题:讲下mysql中的undolog

    问题:请讲下mysql中undo log的作用 分析:mysql中有很多日志,例,bin log undo log redo log,要弄清楚这些日志的作用,就要了解这些日志出现的背景及要解决的问题: ...

  2. java面试一日一题:java中垃圾回收算法有哪些

    问题:请讲下在java中有哪些垃圾回收算法 分析:该问题主要考察对java中垃圾回收的算法以及使用场景 回答要点: 主要从以下几点去考虑, 1.GC回收算法有哪些 2.每种算法的使用场景 3.基于垃圾 ...

  3. java面试一日一题:mysql中常用的存储引擎有哪些?

    问题:请讲下mysql中常用的引擎有哪些? 分析:该问题主要考察对mysql存储引擎的理解,及区别是什么? 回答要点: 主要从以下几点去考虑, 1.mysql的存储引擎的基本概念? 2.mysql中常 ...

  4. java面试一日一题:讲下在什么情况下会发生类加载

    问题:请讲下在什么情况下会发生类加载? 分析:该问题主要考察对java中类加载的知识,什么是类加载,为什么会发生类加载,什么情况下发生类加载? 回答要点: 主要从以下几点去考虑 1.什么是类加载: 2 ...

  5. java面试一日一题:java中的垃圾回收器

    问题:请讲下java中垃圾回收器有哪些? 分析:该问题主要考察hotspot虚拟机下实现的垃圾回收器 回答要点: 主要从以下几点去考虑, 1.垃圾回收器的种类 2.每种垃圾回收器的着重点是什么 前边的 ...

  6. JAVA面试基础

    JAVA相关基础知识1.面向对象的特征有哪些方面 ?1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂 ...

  7. JAVA 面试基础

    经典的Java基础面试题________________________________________________________________________________________ ...

  8. java面试基础题(三)

    程序员面试之九阴真经 谈谈final, finally, finalize的区别: final:::修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此 ...

  9. java面试基础题------》Java 中的父子类静态代码块,代码块,构造方法执行顺序

    4.指出下面程序的运行结果. class A { static { System.out.print("1"); } public A() { System.out.print(& ...

随机推荐

  1. 关于js中 document.body.scrollTop 不能返回正确值的原因

    本来是为了通过document.body.scrollTop来获取浏览器垂直滚动条向下滚动的像素,但是不管滚动条在什么位置总是返回是0,造成这样的原因和html的头部声明有关,如果头部声明 为:< ...

  2. 【转】MVP和MVC的区别

    转自:http://www.cnblogs.com/end/archive/2011/06/02/2068512.html MVC和MVP到底有什么区别呢? 从这幅图可以看到,我们可以看到在MVC里, ...

  3. 华硕笔记本怎么设置u盘启动(两种方法)

    华硕笔记本怎么设置u盘启动(两种方法) 华硕笔记本怎么设置u盘启动.我想用U盘安装系统但是 我不知道如何设置U盘启动,那么该如何设置呢?下面和大家分享一下我的经验,希望能够帮到大家.如果你的系统是预装 ...

  4. iis配置出现的问题及解决

    唯一密钥属性“value”设置…无法添加类型为add 在配置IIS7.5时,会出现 在唯一密钥属性“value”设置为“default.aspx”(或者index.asp等)时,无法添加类型为“add ...

  5. Android -------- 用XmlPullParser解析器解析XML文件

  6. sqlserver编程基本语法

    一.定义变量 --简单赋值 declare @a int set @a=5 print @a   --使用select语句赋值 declare @user1 nvarchar(50) select @ ...

  7. Swift中可能失败的构造器的传播(调用)和重写

    import Foundation /* 可能失败构造器的传播(调用) 1.可能失败的构造器可以调用同一个类中的普通构造器 2.普通构造器不能调用同一个类中的可能失败构造器 3.结构体中, 普通构造器 ...

  8. MongoDB-C# Driver账户密码登录问题

    MongoDb在3.0之后添加了SCRAM-SHA-1,用户验证模式.添加的用户,默认登录协议也是这个. 在登陆的时候就要选择使用这种方式登录.有的gui客户端的登录验证方式还是MONGODB-CR. ...

  9. UVA 10037 贪心算法

    题目链接:http://acm.hust.edu.cn/vjudge/contest/122829#problem/A 题目大意:N个人夜里过河,总共只有一盏灯,每次最多过两个人,然后需要有人将灯送回 ...

  10. DX笔记之六------游戏画面绘图之透明特效的制作方法

    原文链接:http://blog.csdn.net/zhmxy555/article/details/7338082 透明效果 由于所有的图文件都是以矩形来储存的,我们也许会需要把一张怪兽图片贴到窗口 ...