java基础面试

  • 1.final,finally,finalize的区别

    • final:最终的意思,可以修饰类,方法和变量。
      它修饰的类,不能被继承;它修饰的方法,不能被重写;它修饰的变量,不能被改变;
    • finally:是异常处理的一部分,用于释放资源的。它控制的代码永远会执行。在执行到finally之前,JVM退出了
    • finalize:还是Object类的一个方法,用于垃圾回收。
  • Math.round(11.5)等于多少?Math.round(-11.5)等于多少?
    12 -11

  • short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
    前者有错,s1会自动提升为int类型,结果赋值给short类型,所以报错。
    后者无错,+=这种赋值运算符隐含了强制类型转换。

  • 数组有没有length()这个方法? String有没有length()这个方法?
    没有。
    有。数组求长度用length属性

字符串求长度用length()方法

集合求长度用size()方法

  • 写出JDK提供的5个常用类名,5个接口名,5个包名.
    5个常用类名
    String
    StringBuilder
    Integer
    集合类(ArrayList,LinkedList,HashSet,HashMap)
    IO流(FileReader,FileWriter,FileInputStream,FileOutputStream)
    (BufferedXxx系列)

5个接口名
Collection
List
Set
Map
Iterator
Comparable
Comparator
跟数据库相关:Connection,Statement,PreparedStatement,CallableStatement,ResultSet

5个包名
java.lang
java.util
java.io
java.net
java.sql
java.math
java.awt

  • 构造器Constructor(构造方法)不能被继承,因此不能重写Override,但可以被重载Overload。

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

  • 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是值传递。

    Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

  • 问题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上

    • 基本类型的包装类(如:Character、Byte、Short、Integer)

    • switch可作用于char byte short int

    • switch可作用于char byte short int对应的包装类
    • switch不可作用于long double float boolean,包括他们的包装类
    • switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上)
    • switch中可以是枚举类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰河家园

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值