美文网首页
Java基础2

Java基础2

作者: 清阳_ | 来源:发表于2019-05-29 19:53 被阅读0次

    1.面向对象编程的四大特性及其含义?

    参考答案:
    • 抽象:对现实世界的事物进行概括,抽象为计算机的虚拟世界中有意义的实体
    • 封装:将某个事物的属性和行为进行包装到对象中,构成一个不可分割的独立实体,数据被保存在抽象数据类型的内部,并且尽可能隐藏内部细节,只对外提供接口使之与外部发生关系
    • 继承:子类继承父类,不仅拥有父类的方法和属性,自身也可以增加或者重写父类的方法及属性。
    • 多态:允许不同类的对象对同一消息作出各自的响应。

    2.String、 StringBuffer、StringBuilder的区别?

    参考答案:
    • String:字符串常量,不可变
    • StringBuffer:长度可变,线程安全,效率低
    • StringBuilder:长度可变,线程不安全,效率高

    3.String a = "" 和String a = new String("")的关系和异同?

    参考答案:
    • String a = "" 就是直接赋值得到的字符串常量,存在于常量池;注:相同内容的字符串在常量池只能有一个。
    • String a = new String(""),它是一个实例对象,会在堆内存中开辟空间来存放数据,且每个实例对象都有自己的地址空间。

    4.Object的equals()和==的区别?

    参考答案:
    • equals():是Object的公共方法,具体含义取决于如何重写,比如String的equals()比较的是两个字符串的内容是否相同
    • "==": 对于基本数据类型来说,比较的是两个变量值是否相等;对于引用数据类型来说,比较的是两个对象的内存地址是否相同。

    5.装箱,拆箱什么含义?

    参考答案:
    • 装箱就是自动将基本数据类型转换为包装器类型,拆箱就是自动将包装器类型转换为基本数据类型。

    6.int和Integer的区别?

    参考答案:
    • Integer是int的包装类
    • Integer变量必须实例化后才可使用
    • Integer实际上是对象的引用,当new一个Integer是,实际上就是生成一个指针指向此对象,而int就是直接存储信息
    • Integer默认值是null ,int默认是0

    7.遇见过哪些运行时异常?异常处理机制知道哪些?

    参考答案:

    Throwable继承层次结构,分为两大类Error和Exception:

    • Error:指程序有可能恢复的异常情况,表示程序本身可以处理的异常。又分为两大类:
    • RuntimeException(运行时异常) :由程序员自身的问题导致产生的异常;如NullPointerException(空指针异常)、IndexOutOFBoundsException(下标越界异常);属于不可查异常。
      非运行时异常:由程序员外部的问题引起的异常;除了RunTimeException以外的异常;如FileNotFoundException(文件不存在异常);属于可查异常,即强制程序员必须进行处理,如果不进行处理则会出现语法错误。

    常见的异常处理机制有:

    • 捕获异常:由系统自动抛出异常,即try捕获异常->catch处理异常->finally最终处理
    • 抛出异常:在方法中将异常对象显性地抛出,之后异常会沿着调用层次向上抛出,交由调用它的方法来处理。配合throws声明抛出的异常和throw抛出的异常。
    • 自定义异常:继承Exception类或其他子类。

    相关文章

      网友评论

          本文标题:Java基础2

          本文链接:https://www.haomeiwen.com/subject/zpoytctx.html