面试题3

 

1、 谈谈final, finally, finalize的区别。
   final  用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally 是异常处理语句结构的一部分,总是被执行。
finalize Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
2、 String s = new String("xyz");创建了几个String Object?
     答:产生两个实例化对象,一个是匿名对象 ”xyz” ,另外一个是通过 new 关键字实例化的。
3、 Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
     答: 12 -11 (round 方法为四舍五入 )
4、 short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
答:第一个有错,类型不匹配。 S1 提升为 int ,后将 int 转为 short 。损失精度,报错。
第二个没错。
5、 Java有没有goto?
     答:有,是保留字。
6、 数组有没有length()这个方法? String有没有length()这个方法?
     答:没有,但有 length 这个属性, String 没有 length 方法,但有 length 属性。
7、 Overload和Override的区别。Overload的方法是否可以改变返回值的类型?
答:重载 overload
       ·在一个类中定义的若干方法;
       ·所有的方法名称相同,但是参数的类型或个数不同;
重写 Override
     ·在继承的关系中;
  ·子类定义了与父类同名的方法,参数类型或个数最好完全一样,注意访问权限不能更加严格;
重载的时候不是依靠返回值类型区分的,而是靠参数。
8、 给我一个你最常见到的runtime exception。
     答: NullPointerException ClassCastException ArithmeticException IndexOutofBoundsException NumberFormateException
9、 error和exception有什么区别?
答: Error 表示是由 JVM 处理的,是 JVM 出错;
Exception 是可以由程序进行处理的,使用 try…catch 处理
10、              abstract class和interface有什么区别?
答:抽象类
         ·由抽象方法和常量、变量、全局常量、构造方法、普通方法组成;
         ·使用 abstract 声明;
         ·子类要通过 extends 继承抽象类,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法;
         ·存在单继承局限,一个子类只能继承一个抽象类;
         ·抽象类可以实现若干个接口;
接口
     ·全部由抽象方法和全局常量组成;
     ·使用 interface 声明;
     ·子类通过 implements 实现接口,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法;
     ·不存在单继承局限,一个子类可以同时实现多个接口;
     ·接口不能继承一个抽象类,但是允许继承多个接口;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值